如何从我的网络浏览器 (Chrome) 在 Android 中打开任何应用程序?我与 A Href 链接有啥关系?

Posted

技术标签:

【中文标题】如何从我的网络浏览器 (Chrome) 在 Android 中打开任何应用程序?我与 A Href 链接有啥关系?【英文标题】:How do I open any app from my web browser (Chrome) in Android? What do I have to do with the A Href link?如何从我的网络浏览器 (Chrome) 在 Android 中打开任何应用程序?我与 A Href 链接有什么关系? 【发布时间】:2013-03-11 08:19:16 【问题描述】:

我想从我的网络浏览器打开第三方应用程序。所以,我没有任何清单文件或任何东西。

我有一个网页。

我想要一个可以打开第三方应用程序的链接,例如 Twitter 或 Opera。

如何构建锚链接以打开该应用程序?

谢谢。

【问题讨论】:

android Custom URL to open App like in ios 的可能重复项 @GrahamBorland 我认为这有很大不同 【参考方案1】:

基于意图的 URI 的基本语法如下:

意图:
   HOST/URI-path // 可选主机
   #Intent;
      package=[字符串];
      action=[字符串];
      category=[字符串];
      component=[字符串];
      方案=[字符串];
   结束;

Android source 中提供了解析详细信息。

要启动 ZXing 条码扫描器应用程序,您可以将您的 href 编码如下:

<p>
  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">Take a qr code</a><br>

  <a href="intent://scan/?ret=http%3A%2F%2Fexample.com#Intent;scheme=zxing;package=com.google.zxing.client.android;end">Take a qr code = 10px x 10px</a><br>

  <a href="intent:play/?mediaset=android-phone-rtmp-high&amp;playlisturl=http://www.bbc.co.uk/iplayer/playlist/bbc_one_london#Intent;scheme=bbcmediaplayer;package=air.uk.co.bbc.android.mediaplayer;end">Launch BBC</a>
</p>

Android manifest 定义方案为zxing,包为com.google.zxing.client.android,主机数据为scan

如果您通过 Intent 调用的活动包含 extra 数据,则也可以包含这些数据。

只有具有类别过滤器android.intent.category.BROWSABLE 的活动才能使用此方法调用,因为它表明可以安全地从浏览器打开应用程序。

【讨论】:

也许我错了,但不知何故我错过了对developer.chrome.com/multidevice/android/intents 的引用;) 浏览器如何获取ZXing扫描的条码? 如果您想在扫描器调用返回 URL 时取回代码,则必须在返回(或回调) URL 中添加一个带有文本 "RAWCODE 的占位符。例如 @987654325 @CODE 。扫描仪应用程序将回调该 URL,并将 CODE 替换为实际代码。其余的取决于您。希望对某人有所帮助 @Kinlan 我读过你的博客。你有可下载的源代码,我可以运行它来测试从浏览器调用的意图吗? @Kinlan 我正在尝试将 URL (example.com/path) 作为 URI-path/HOST 传递。在这种情况下,我的 URI 的格式应该是什么?我试过intent://example.com/path#Intent;...;end 但这不起作用。【参考方案2】:

这通常是不可能的。如果其他应用有自定义 URL 处理程序,则您可以打开该 URL,否则不能。

【讨论】:

以上是关于如何从我的网络浏览器 (Chrome) 在 Android 中打开任何应用程序?我与 A Href 链接有啥关系?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 上显示从我的 angularjs 应用程序发送的 PDF(Blob)

Chrome 上的阅读器模式允许用户在我的网站上复制文本。如何禁用它?

如何在 Android 上从我的应用程序启动 URL?

如何使用C#中的Selenium Webdriver使用Chrome浏览器的Cookie?

TestCafe & chrome:headless : 如何强制浏览器语言(语言环境)

如何从 Android Chrome 中提取和查看 cookie?