Android - 如何从网络视图中显示的环聊 URL 打开环聊应用程序?

Android - How to open the Hangout app from a Hangout URL displayed in the webview?

我刚刚制作了一个 Android 应用程序,我在 webview 中显示我的网站。
我的网页有很多 link 到 Google 视频群聊 URL (https://talkgadget.google.com/hangouts/_/g23uuqx.......),其中有人在通话。

当在桌面浏览器上单击此 link 时,URL 会在新选项卡中打开,用户可以加入 Google 环聊通话。

当在移动设备的浏览器上单击此 link 时,环聊应用程序将打开,用户可以加入通话。在WebView中点击link怎么会有同样的效果?

当我在移动应用程序 (webview) 中打开视频群聊 URL 时,它会在我的应用程序 (webview) 中打开 google 播放网页并要求我安装我已经安装的视频群聊。

我的应用程序的网络视图中没有去 google Play 商店,

(当 Google 环聊应用安装在 Android phone 上时)
1) 如何从我的应用程序打开环聊应用程序,在我的应用程序的网络视图中有这种形式的环聊 URLs(https://talkgadget.google.com/hangouts/_/g23uuqx.......)?

(当 Google 环聊应用未安装在 Android phone 上时)
2) 如何打开 Google playstore 应用程序并通知用户安装 Google 环聊应用程序以加入通话?

请帮忙。谢谢。

您可以使用 WebViewClient.shouldOverrideUrlLoading 捕获这些链接,然后启动适当的 activity。此处描述了如何以这种方式启动 Google Play 应用程序的一个很好的示例:Allow all 'market://' links from inside a webview to open Google Play store

TL;DR

  1. 在您的设备上安装(或启用)Chrome.app。
  2. [可选] 清除所有浏览器的默认值。
  3. 触摸任何视频群聊 link——这可能来自 Calendar.app
  4. 这样的应用程序
  5. 选择 [始终] 打开 link 和 Chrome.app

这更像是一场浏览器大战。以下是我从用户角度的解决方案。

我看到 monkey-path fix on Google's Product Forums 建议我们在 Google 搜索中手动输入环聊 link。这行得通。这将打开 Hangouts,要求使用你希望使用的帐户进行身份验证(假设你的 phone 上有多个 Google 帐户),然后直接带你到 Hangouts 上的电话。然而,这很麻烦。

然后我想到浏览器大战并决定在我的设备上重新启用 Chrome。瞧!现在,从任何应用程序(在我的例子中是 "Calendar")点击任何环聊 link 并选择用 Chrome 打开 link 会直接转到 Hangouts.app