gpt4 book ai didi

java - 从 Android 中的链接问题启动应用程序

转载 作者:行者123 更新时间:2023-11-30 03:16:16 25 4
gpt4 key购买 nike

假设我在 AndroidManifest.xml 文件中的一个 Activity 中有一个具有以下 Intent 过滤器的应用程序:

       <intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="blabla.com"
android:pathPrefix="/element/"
android:scheme="http" />
</intent-filter>

当然,它会导致我的应用程序从浏览器启动,例如。但是,当用户单击该链接时,系统会要求其选择用于打开该链接的应用程序。如果他/她选择了浏览器而不是我的应用程序,并且此外,他/她选中了“不再询问我”复选框,我的应用程序将永远不会启动!

  1. 有什么办法可以避免吗?
  2. 是否可以使用另一种 URI 来唯一地打开我的应用程序?我一直在 StackOverflow 中寻找答案,但我没有找到任何用于从链接启动我的应用程序的不可浏览 URI 的好例子。

非常感谢,

最佳答案

与元素一起使用。例如,要处理指向 twitter.com 的所有链接,您可以将其放入您的 AndroidManifest.xml 中:

<intent-filter>
<data android:scheme="http" android:host="twitter.com"/>
<action android:name="android.intent.action.VIEW" />
</intent-filter>

然后,当用户在浏览器中单击指向 Twitter 的链接时,他们将被询问要使用哪个应用程序来完成操作:浏览器还是您的应用程序。

当然,如果您想在您的网站和应用程序之间提供紧密集成,您可以定义自己的方案:

<intent-filter>
<data android:scheme="my.special.scheme" />
<action android:name="android.intent.action.VIEW" />
</intent-filter>

然后,在您的网络应用程序中,您可以放置​​如下链接:

<a href="my.special.scheme://other/parameters/here">
And when the user clicks it, your app will be launched automatically (because it will probably be the only one that can handle my.special.scheme:// type of uris). The only downside to this is that if the user doesn't have the app installed, they'll get a nasty error. And I'm not sure there's any way to check.

关于java - 从 Android 中的链接问题启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com