如何在Android中使用深层链接

问题描述 投票:1回答:3

请帮助MEEEE

在我的应用程序中,我想使用DeepLink,为此我写下面的代码。 但是当运行应用程序不建议我的应用程序,只是在Chrome浏览器中显示!

我的网址:sosapp://sosapp/hashcode/ghfhgfhgf?

我的代码:

<activity
    android:name=".Activity.LandingActivity"
    android:screenOrientation="sensorPortrait" />
<activity
    android:name=".Activity.MainActivity"
    android:screenOrientation="sensorPortrait">

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

</activity>

如何修复它,当从移动设备点击此网址时,建议我的应用?

android deep-linking deeplink
3个回答
1
投票

我已尝试在我的活动中使用您的链接并正常工作。

我的活动清单:

<activity android:name=".MyActivity">
        <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="sosapp"
                android:scheme="sosapp" />
        </intent-filter>
    </activity>

我的意图用来调用活动

val action = Intent() 
action.data = Uri.parse("sosapp://sosapp/hashcode/ghfhgfhgf?")
startActivity(action)

0
投票

将pathPattern添加到您的数据标记,如下所示:

  <data
                android:host="sosapp"
                android:pathPattern="/*"
                android:scheme="sosapp" />

0
投票

尝试添加标签,这对于更高版本的android是强制性的。请参阅文档中的示例。它们总是包含intent-filter的标签

  <intent-filter android:label="@string/filter_view_example_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "example://gizmos” -->
        <data android:scheme="example"
              android:host="gizmos" />
    </intent-filter>
© www.soinside.com 2019 - 2024. All rights reserved.