发起视频通话

15

我正在我的Gingerbread Galaxy Tab P1000上运行最新版本的GTalk(使用市场上的Talk安装程序)。

现在,如果相关联系人在线并可用,我希望能够通过编程方式发起视频通话。

由于我没有找到任何相关文档,因此我查看了相关的XML,并发现了以下有趣的部分:

  <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>

作为“发送到”操作,我不需要特殊权限,对吗? 我的问题是,我不知道如何获取类型为vnd.android.cursor.item/video-chat-address的项目。你有什么想法或提示可以尝试的吗?

提前致谢!


你知道有没有现成的软件会像这样发送 Intent 吗(可能是从联系人页面)?你可以尝试启动视频聊天,检查 LogCat,并反向工程 Intent 的 URI 格式。我还没有安装支持视频聊天的 Talk 应用,所以无法自己尝试,抱歉!希望这能帮到你! - OEP
2个回答

9

编辑:

我需要进行一些解组的黑客操作,但我得到了这个(其中电子邮件是您想要的地址):

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);

这个方法可以实现,但仍然会提示是否开始视频聊天,这不完全符合我的需求。希望能对其他人有所帮助。

2

抱歉,这不受支持。深入了解应用程序的实现细节是在查看它的实现细节;除非您从应用程序的作者获得与其交互所支持的文档,否则您最好能做的就是编写的代码可能会在该应用程序更新时在任何时刻中断。


1
你的意思是它不属于“不能改变的事物”之一吗 :) [http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html] - Matthieu
1
链接更正 [http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html] - WarrenT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接