gpt4 book ai didi

android - 是否必须为 android 中的所有 url 为 Deep Link 指定 "android:host"?

转载 作者:行者123 更新时间:2023-12-05 05:52:10 25 4
gpt4 key购买 nike

我必须为一个 Activity 过滤两个 URL。我通过为 Deep Link Screen 指定一个 url 使用应用程序内容的深层链接.

这些是我的网址

  • appdemo://深度链接
  • 原生的://

我已经将这两个方案添加到我的 Android Manifest 文件中,看起来像

            <data android:scheme="appdemo" android:host="deeplink" />
<data android:scheme="native" />

我的问题是,通过在 Android list 文件中提供方案和主机,native://此链接不起作用。它还需要 android:host 名称(native://deeplink).

在android中必须为所有url指定“android:host”吗?如果不是,我如何指定不同的方案。

最佳答案

深层链接的想法是使用与普通链接相同的结构:

scheme://host/path

主要好处是您甚至可以教您的应用打开一些互联网链接,例如打开 youtube(Android 会询问,是否要在浏览器或 YouTube 应用程序或您的应用程序中打开):

    <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:scheme="http"/>
<data android:scheme="https"/>
<data android:host="youtube.com"/>
<data android:host="www.youtube.com"/>
<data android:host="m.youtube.com"/>
<data android:host="youtu.be"/>
<data android:pathPattern=".*"/>
</intent-filter>

那么,回答你的问题:

  1. 是的,必须同时指定方案和主机。
  2. 在一个 Activity 中处理两个不同链接的一个好做法是使用不同的路径。像这样:
    <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:scheme="appdemo" android:host="deeplink" android:pathPrefix="/path1/"/>
</intent-filter>
<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:scheme="appdemo" android:host="deeplink" android:pathPrefix="/path2/"/>
</intent-filter>

然后你可以在onNewIntent中获取你的路径:

Uri data = intent.getData();
String path = data == null ? null : data.getPath();

...并根据此路径构建一些逻辑。

关于android - 是否必须为 android 中的所有 url 为 Deep Link 指定 "android:host"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70256317/

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