对于我们的启动活动,我们有一个用于深度链接的intent-filter集。这是:
<activity
android:name=".activity.SplashActivity"
android:configChanges="keyboardHidden|orientation|screenSize|locale"
android:label="${applicationLabel}"
android:theme="@style/Theme.AppCompat.NoActionBar.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="@string/tve_host"
android:scheme="@string/market_scheme" />
</intent-filter>
</activity>
现在,我们有一个直播电视活动,正在寻找相同的方案和相同的主机,但具体路径。这是:
<activity
android:name=".activity.TveActivity"
android:configChanges="keyboardHidden|orientation|screenSize|locale"
android:parentActivityName=".activity.HomeActivity"
android:theme="@style/Theme.AppCompat.NoActionBar" >
<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:path="/live"
android:host="@string/tve_host"
android:scheme="@string/market_scheme" />
</intent-filter>
</activity>
单击具有该路径的链接时,它可以在两个活动之间进行选择。
除了专门列出splash事件的intent-filters中的所有其他路径之外,还有什么方法可以阻止这种情况吗?
答案 0 :(得分:0)
相对于docs,不,没有这样的方式。您必须在intent-filter中列出启动活动的所有其他路径。
答案 1 :(得分:0)
您尚未在原始意图上指定路径,因此它与任何内容匹配。
如果你添加
Car
它只会匹配一个空路径,并会认为这与android:path="/"
不同。