gpt4 book ai didi

android - 从 android 浏览器启动自定义 android 应用程序

转载 作者:IT老高 更新时间:2023-10-28 12:49:19 24 4
gpt4 key购买 nike

谁能指导我如何从安卓浏览器启动我的安卓应用程序?

最佳答案

使用 <intent-filter> <data> 元素。例如,要处理所有到 twitter.com 的链接,你可以把它放在你的 <activity> 中。在您的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">

当用户点击它时,您的应用程序将自动启动(因为它可能是唯一可以处理 my.special.scheme:// 类型 uris 的应用程序)。唯一的缺点是,如果用户没有安装应用程序,他们会得到一个讨厌的错误。而且我不确定有什么方法可以检查。


编辑:要回答您的问题,您可以使用 getIntent().getData()返回 Uri 目的。然后您可以使用 Uri.*方法来提取您需要的数据。例如,假设用户点击了指向 http://twitter.com/status/1234 的链接。 :

Uri data = getIntent().getData();
String scheme = data.getScheme(); // "http"
String host = data.getHost(); // "twitter.com"
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1); // "1234"

您可以在您的 Activity 中的任何位置执行上述操作,但您可能想要在 onCreate() 中执行此操作.您也可以使用params.size()获取 Uri 中的路径段数.查看 javadoc 或 android 开发者网站了解其他 Uri可以用来提取特定部分的方法。

关于android - 从 android 浏览器启动自定义 android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958701/

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