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类型的项目。你有什么想法或暗示我可以尝试什么吗?

提前致谢!

4

2 回答 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);

这可行,但仍会提示您是否要开始视频聊天,这不是我所需要的。希望这对其他人有所帮助。

于 2011-11-06T01:29:49.430 回答
2

抱歉,不支持此功能。深入研究这样的应用程序正在查看其实现细节;除非您从应用程序的作者那里获得支持与它的交互的文档,否则您能做的最好的事情就是提出在将来更新该应用程序时可能会中断的代码。

于 2011-07-01T00:50:56.177 回答