我有一个问题让我在过去几天陷入困境。我希望能够通过自己的第三方应用在Hangouts中打开特定对话。到目前为止,我只能通过启动短信意图来打开对话,但这些意图通常会开始新的对话,而不是打开现有对话,所以这对我没有帮助。
使用PendingIntent
的方法:我的应用程序挂钩到通知服务,然后我可以通过PendingIntent
打开对话。这基本上是我正在寻找的。但是,当有多条新邮件时,PendingIntent
只会打开环聊,而不是任何特定的对话。我也无法在手机重启之间保持PendingIntent
。因此,虽然这适用于一条消息,但我不知道这可以如何扩展。可以吗?
使用会话ID方法:从PendingIntent
,我还可以获得每个会话的特定会话ID。我希望能够将ID插入URL(例如,https://plus.google.com/hangouts/_/UgwTtVFQbZXPXgVbQs94AaABAQ
),然后将其作为意图的URI启动,但这不会起作用。它会打开环聊,但会打开视频通话。我一直在浏览环聊AndroidManifest.xml
以查找其他可能的网址,但到目前为止我尝试过的所有网址都已失败。
与电话联系人接洽:我尝试的最后一种方法是在环聊对话中获取此人的姓名/电话/电子邮件,在手机中查找该电话&#39 ; s联系人,然后尝试将数据传递给环聊,希望它能打开正确的对话。我知道当谈话不在电话联系人中时,这不会起作用,但这是我可以作出的让步。我受到启发,通过我在Tasker中看到的方法尝试这种方法,特别是this video的前几分钟。它可能会起作用,而我并没有以正确的方式做到这一点,但到目前为止,这是不行的。
我还考虑过正常打开环聊,然后使用辅助功能服务来模拟用户输入,以手动导航到与该名称匹配的对话。然而,这似乎是一种非常容易出错和严厉的方法。
我错过了一些明显的东西吗?似乎应该有一个干净的方法来执行此操作,以启动一个意图,告诉环聊打开正在进行的对话。我错过了什么?