-1

我有一个活动,通过这个意图过滤器从浏览器启动:

   <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 标志,但使用意图过滤器。活动的launchMode 设置为singleTop ,我不能使用singleInstance 或singleTask。那么如何只启动我想要的活动而不启动其他活动呢?

4

1 回答 1

1

解决方案 1

我会尝试一些BroadCast活动。从Activity您开始发送一个,然后添加BroadcastReceivers到您想要关闭的那些。

检查这个答案,我认为它应该对你有所帮助。

解决方案 2

我也会尝试一下:将活动的意图标志设置为FLAG_ACTIVITY_CLEAR_TOP. 您也可以考虑使用以下意图标志:FLAG_ACTIVITY_CLEAR_TASK FLAG_ACTIVITY_NEW_TASK

于 2015-11-16T22:31:36.570 回答