我正在尝试为我的应用配置deeplinks。我配置了几个选项,如:
https://myapp.com/news ---> NewsActivity
https://myapp.com/history ---> HistoryActivity
使用意图过滤器,如:
<intent-filter android:label="MyApp">
<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"
android:host="myapp.com"
android:pathPrefix="/news" />
</intent-filter>
和
<intent-filter android:label="MyApp">
<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"
android:host="myapp.com"
android:pathPrefix="/history" />
</intent-filter>
我还想要一个从基本域指向我的主要活动的链接
https://myapp.com ---> MainActivity
我希望该链接能够响应基本域,但不会响应其他链接,例如:https://myapp.com/playlists
,因为播放列表功能目前尚未在应用中实现,最好重定向到网络。
但是当我设置了intent过滤器时:
<intent-filter android:label="MyApp">
<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"
android:host="myapp.com"
android:path="" />
</intent-filter>
我收到以下lint警告:
android:path不能为空
确保您的应用支持该网址,以获取安装和流量 从GoogleSearch到您的应用。
尽管有此警告,但行为是正确的。我该如何修复此警告?
答案 0 :(得分:5)
如果出现同样的问题,您可以使用tools:ignore="AppLinkUrlError"
所以你的意图是:
<intent-filter android:label="MyApp">
<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"
android:host="myapp.com"
android:path=""
tools:ignore="AppLinkUrlError" />
</intent-filter>
将xmlns:tools="http://schemas.android.com/tools"
添加到您的初始清单标记中(如果它尚未存在)。