在Android中,FLAG_ACTIVITY_CLEAR_TOP
是一個Intent標志,用于啟動一個Activity時,如果該Activity已經存在于任務棧中,則清除該Activity上面的所有Activity,并將該Activity置于棧頂。
以下是使用FLAG_ACTIVITY_CLEAR_TOP
的示例代碼:
Intent intent = new Intent(this, YourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
在上述代碼中,首先創建一個Intent對象,并指定要啟動的目標Activity。然后,通過調用addFlags()
方法,并傳遞FLAG_ACTIVITY_CLEAR_TOP
標志,將該標志添加到Intent中。最后,調用startActivity()
方法啟動該Activity。
請注意,如果要使用FLAG_ACTIVITY_CLEAR_TOP
標志,目標Activity必須已經存在于任務棧中。否則,該標志將不起作用。
另外,如果要在啟動目標Activity時清除目標Activity本身,可以使用FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
的組合標志,示例如下:
Intent intent = new Intent(this, YourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
通過添加FLAG_ACTIVITY_SINGLE_TOP
標志,可以確保目標Activity不會被重新創建,而是直接復用已存在的實例。