Initiating Video Call

ぃ、小莉子 提交于 2019-12-17 23:18:05

问题


I am running the latest version of GTalk (using the Talk installer from the market) on my Gingerbread Galaxy Tab P1000.

I now want to programatically initiate a video call provided that the related contact is online and available.

As I didn't found any documentation for that I looked in the related XML and found the following interesting part:

  <activity-alias android:icon="@drawable/ic_launcher_google_videochat" android:name="PublicCallIntentDispatcher" android:targetActivity="PublicIntentDispatcher">
            <intent-filter>
                <action android:name="android.intent.action.SENDTO" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/video-chat-address" android:scheme="xmpp" />
            </intent-filter>
        </activity-alias>

As it is a "Send-To" action, I don't need a special permission, do I? My problem is, that I don't know how to get an item of the type vnd.android.cursor.item/video-chat-address. Do you have any idea or hint what I might try?

Thanks in advance!


回答1:


Edit:

Had to do a bit of hacking around disassembling but I got this (where email is the address you want):

Uri imUri = new Uri.Builder().scheme("xmpp").authority("gtalk").query("call;type=video").appendPath(email).build();
Intent IM = new Intent(Intent.ACTION_SENDTO);
IM.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
IM.setData(imUri);
startActivity(IM);

This works, but still gives a prompt on whether you want to start a video chat, which is not quite what I need. Hope this helps some other people.




回答2:


Sorry, this is not supported. Digging in to an application like that is looking at its implementation details; unless you get documentation from the author of the application of what interactions with it are supported, the best you can do is come up with code that is likely to break at any point in the future when that application is updated.



来源:https://stackoverflow.com/questions/6410323/initiating-video-call

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!