Deeplink空路径错误:“android:path不能为空”

时间:2018-01-04 11:02:11

标签: android

我正在尝试为我的应用配置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到您的应用。

     

更多信息:https://g.co/AppIndexing/AndroidStudio

尽管有此警告,但行为是正确的。我该如何修复此警告?

1 个答案:

答案 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"添加到您的初始清单标记中(如果它尚未存在)。