通过浏览器中的URL打开Android应用

道格拉斯·斯塔恩斯(Douglas Starnes)

好的,所以我知道必须要做的不只是这个。我在这里阅读了许多答案,所有答案都说相同的话,但对我却不起作用。我希望能够使用带有来自浏览器的自定义URL方案的链接来打开Android应用。首先,我正在使用仿真器(实际上是Genymotion),所以我不知道这是否与它有任何关系。我看到的答案一直在说我所需要的与此类似:

<intent-filter>
    <data android:scheme="myapp" android:host="hello"/>
    <action android:name="ANDROID.INTENT.ACTION.VIEW"/>
    <category android:name="ANDROID.INTENT.CATEGORY.BROWSABLE"/>
    <category android:name="ANDROID.INTENT.CATEGORY.DEFAULT"/>
</intent-filter>

我把它放在一个新的空白活动上,而不是主要活动上。

如果我理解正确,则任何以开头的URLmyapp://hello都将使用该意图过滤器打开活动。但是,无论尝试什么,我都会在浏览器中不断收到ERR_UNKNOWN_URL_SCHEME。这是库存的Android浏览器,因为我不能将Chrome放在Genymotion上(至少不能在免费版本上使用)。这需要Chrome吗?它只能在实际设备上完成吗?我做错什么了吗?

常用软件

这里有几件事在起作用。

首先,正如Blackbelt所指出的那样,Android与大多数编程语言和开发环境一样,区分大小写。您需要根据这些操作和类别的文档将其更改为适当的情况:

<intent-filter>
    <data android:scheme="myapp" android:host="hello"/>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

其次,并非所有的Web浏览器都处理myapp://相同的方案我不知道任何司法管辖区的图书法律都强迫开发人员遵守这些法律。您将遇到三种基本模式:

  • 一些浏览器可能会很好地处理它们

  • 在网页的链接中使用此类URL时,某些浏览器会处理这些URL,但如果在地址栏中键入URL,则不会

  • 某些浏览器不会尝试查找活动来处理它们,而是一直失败

Google的首选替代方法是让您使用httphttps方案,并由您控制主机和路径。一些浏览器将始终打开该网页,但其他浏览器将进行检查,看到有一个活动在宣传该URL的支持,并为用户提供了处理方式的选择。Android的“ M”版本将提供更多可以绕过选择器的钩子(“ App Links”)。另外,其他应用程序(例如,文本消息客户端,电子邮件客户端)通常将使http链接可单击,从而允许用户选择打开您的应用程序,而很少有应用程序会myapp://hello以相同的方式知道这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过浏览器中的URL打开Android应用

来自分类Dev

我可以让我的应用通过Android中的浏览器打开吗?

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

在系统浏览器(例如 safari、chrome 等)而不是移动应用浏览器中打开 URL?

来自分类Dev

通过意图在Android浏览器中打开和关闭浏览器标签?

来自分类Dev

通过意图在Android浏览器中打开和关闭浏览器标签?

来自分类Dev

在手机浏览器中打开时,如何通过html按钮打开android应用程序

来自分类Dev

android-使ListView项在浏览器中打开URL?

来自分类Dev

Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

来自分类Dev

有什么办法可以在应用内部打开URL,而不是在浏览器中打开浏览器吗?

来自分类Dev

在浏览器中打开WebView URL

来自分类Dev

应用程序浏览器中的Ionic在其他浏览器中打开URL

来自分类Dev

如何在Android中的其他浏览器而不是其内置浏览器中打开URL

来自分类Dev

带有URL打开浏览器的Android NFC标签,而不是我的应用

来自分类Dev

使用应用而非浏览器打开Twitter URL

来自分类Dev

如何通过链接在特定浏览器中打开特定URL?

来自分类Dev

在浏览器中在应用程序外部打开的片段android中的webview

来自分类Dev

如何重定向 URL 以在海雀浏览器中打开而不是在 ios 应用程序中打开 safari 浏览器?

来自分类Dev

Android WebView在浏览器而不是应用程序中打开链接

来自分类Dev

Webview-在外部应用程序和浏览器/ Android中打开链接

来自分类Dev

如何在Android的网络浏览器(Chrome)中自动打开任何应用程序?

来自分类Dev

从Android中的活动在浏览器中打开不可编辑的URL

来自分类Dev

如何打开chrome:// apps中列出的浏览器应用

来自分类Dev

perl-在非默认浏览器中打开浏览器中的启动URL

来自分类Dev

Android Web浏览器无法打开url

来自分类Dev

Android Web浏览器无法打开url

来自分类Dev

如何使用uiautomation在android的chrome浏览器中打开url

来自分类Dev

在Android开发中不使用Web浏览器即可打开URL

Related 相关文章

  1. 1

    通过浏览器中的URL打开Android应用

  2. 2

    我可以让我的应用通过Android中的浏览器打开吗?

  3. 3

    在浏览器中单击URL时如何打开android应用程序

  4. 4

    在浏览器中单击URL时如何打开android应用程序

  5. 5

    在系统浏览器(例如 safari、chrome 等)而不是移动应用浏览器中打开 URL?

  6. 6

    通过意图在Android浏览器中打开和关闭浏览器标签?

  7. 7

    通过意图在Android浏览器中打开和关闭浏览器标签?

  8. 8

    在手机浏览器中打开时,如何通过html按钮打开android应用程序

  9. 9

    android-使ListView项在浏览器中打开URL?

  10. 10

    Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

  11. 11

    有什么办法可以在应用内部打开URL,而不是在浏览器中打开浏览器吗?

  12. 12

    在浏览器中打开WebView URL

  13. 13

    应用程序浏览器中的Ionic在其他浏览器中打开URL

  14. 14

    如何在Android中的其他浏览器而不是其内置浏览器中打开URL

  15. 15

    带有URL打开浏览器的Android NFC标签,而不是我的应用

  16. 16

    使用应用而非浏览器打开Twitter URL

  17. 17

    如何通过链接在特定浏览器中打开特定URL?

  18. 18

    在浏览器中在应用程序外部打开的片段android中的webview

  19. 19

    如何重定向 URL 以在海雀浏览器中打开而不是在 ios 应用程序中打开 safari 浏览器?

  20. 20

    Android WebView在浏览器而不是应用程序中打开链接

  21. 21

    Webview-在外部应用程序和浏览器/ Android中打开链接

  22. 22

    如何在Android的网络浏览器(Chrome)中自动打开任何应用程序?

  23. 23

    从Android中的活动在浏览器中打开不可编辑的URL

  24. 24

    如何打开chrome:// apps中列出的浏览器应用

  25. 25

    perl-在非默认浏览器中打开浏览器中的启动URL

  26. 26

    Android Web浏览器无法打开url

  27. 27

    Android Web浏览器无法打开url

  28. 28

    如何使用uiautomation在android的chrome浏览器中打开url

  29. 29

    在Android开发中不使用Web浏览器即可打开URL

热门标签

归档