我有一个Activity,由此intent-flter从浏览器启动:
<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="myapp" />
<data android:host="someaction"/>
<data android:path="/" />
</intent-filter>
但如果我的应用程序的其他活动未被销毁,它们将出现在已启动的活动后面。我需要以某种方式使用CLEAR_TOP标志但使用意图过滤器。 Activity的launchMode设置为singleTop
我不能使用singleInstance或singleTask。那么如何才能启动我理想的活动而不启动其他活动呢?
答案 0 :(得分:1)
解决方案1
我会尝试使用BroadCast
次事件。从您开始的Activity
发送一个,并将BroadcastReceivers
添加到您要关闭的内容中。
检查this answer,我认为它可以帮到你。
解决方案2
我也会尝试一下:将活动的意图标记设为FLAG_ACTIVITY_CLEAR_TOP
。您还可以考虑使用以下意图标记:FLAG_ACTIVITY_CLEAR_TASK
FLAG_ACTIVITY_NEW_TASK