【问题标题】:How to launch preinstalled android apps from web browser href link?如何从网络浏览器 href 链接启动预装的 android 应用程序?
【发布时间】:2016-03-09 21:23:48
【问题描述】:

我正在开发一个从 android 上的移动 chrome 浏览器运行的 php/mysql 网站。我想从网站内的链接(a href 链接)启动本机预安装的 android 应用程序。 到目前为止,我已经设法使用以下代码,它适用于 2 或 3 个应用程序。在大多数情况下,它会尝试启动某些东西,但我通常会收到错误消息:“找不到项目”。

<a href="intent://viber/#Intent;scheme=skype;package=com.skype.raider;end">Skype</a>
<a href="intent://viber/#Intent;scheme=viber;package=com.viber.voip;end">Viber</a>

我希望能够让用户能够从我的网站(网络应用程序)中直接启动一个 android 应用程序。 我已经读过使用意图过滤器/活动和深度链接是可能的,尽管我不确定如何在 php 代码下使用意图过滤器等。

这个 web 应用程序只能从 android 平板电脑访问,因此需要能够从这个特定的自定义网站启动本机应用程序。

任何建议都会有所帮助。

谢谢。

【问题讨论】:

    标签: php android android-intent


    【解决方案1】:

    嗯,这可能是可能的,但很难找到您需要使用的具体网址,因为您不是应用所有者。让我解释一下。

    当您创建应用程序时,您可以在 AndroidManifest.xml 中指定意图过滤器。当您的应用能够处理特定操作时,这些意图过滤器会告诉 Android。例如,如果您希望您的应用打开像 http://www.example.com 这样的 URL 链接,那么您可以按如下方式创建过滤器:

    <intent-filter>
      <action android:name="android.intent.action.VIEW"></action>
      <category android:name="android.intent.category.DEFAULT"></category>
      <category android:name="android.intent.category.BROWSABLE"></category>
      <data android:host="www.example.com" android:scheme="http"></data>
    </intent-filter>
    

    很遗憾,我们无法知道哪些意图过滤器定义了特定应用。因此,如果您有想法,您可能会进行一些尝试和错误,否则您可以尝试在应用创建者网站中查找信息,甚至可以向开发人员寻求帮助。

    【讨论】:

    • 看来有一个名为“Android 系统信息”的应用程序实际上可以用来读取manifest.xml 并提取意图过滤器。我会尝试一下,看看我是否能够获得任何有用的信息并报告回来。
    • 一切顺利。如上所述,我使用了出色的“android 系统信息”应用程序,并提取了某些应用程序的主机/方案和路径属性,以使用 href 链接直接启动它们。不幸的是,并非所有应用程序都使用上述属性,我不得不寻找替代品。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2012-06-20
    相关资源
    最近更新 更多