发起视频通话

发布于 2024-11-16 09:20:50 字数 928 浏览 3 评论 0原文

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

提前致谢!

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

铁憨憨 2024-11-23 09:20:50

编辑:

必须对反汇编进行一些黑客攻击,但我得到了这个(其中电子邮件是您想要的地址):

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

这有效,但仍然提示您是否要开始视频聊天,这不完全是我需要的。希望这对其他人有帮助。

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.

疯了 2024-11-23 09:20:50

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文