[英]How to close previous activities when activity launch by intent-filter happens?
我有一個活動,它通過這個意圖過濾器從瀏覽器啟動:
<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。 那么如何只啟動我想要的活動而不啟動其他活動呢?
解決方案1
我會用一些BroadCast
事件來嘗試這個。 從您啟動的Activity
發送一個,並將BroadcastReceivers
添加到您想要關閉的那些。
檢查這個答案,我認為它應該對你有所幫助。
解決方案2
我也想嘗試一下:將您的活動的意圖標志設置為FLAG_ACTIVITY_CLEAR_TOP
。 您也可以考慮使用以下意圖標志: FLAG_ACTIVITY_CLEAR_TASK
FLAG_ACTIVITY_NEW_TASK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.