如何从我的网络浏览器 (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&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 上的阅读器模式允许用户在我的网站上复制文本。如何禁用它?
如何使用C#中的Selenium Webdriver使用Chrome浏览器的Cookie?