在Android中,FLAG_ACTIVITY_CLEAR_TOP
是一個(gè)Intent標(biāo)志,用于啟動(dòng)一個(gè)Activity時(shí),如果該Activity已經(jīng)存在于任務(wù)棧中,則清除該Activity上面的所有Activity,并將該Activity置于棧頂。
以下是使用FLAG_ACTIVITY_CLEAR_TOP
的示例代碼:
Intent intent = new Intent(this, YourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
在上述代碼中,首先創(chuàng)建一個(gè)Intent對(duì)象,并指定要啟動(dòng)的目標(biāo)Activity。然后,通過調(diào)用addFlags()
方法,并傳遞FLAG_ACTIVITY_CLEAR_TOP
標(biāo)志,將該標(biāo)志添加到Intent中。最后,調(diào)用startActivity()
方法啟動(dòng)該Activity。
請(qǐng)注意,如果要使用FLAG_ACTIVITY_CLEAR_TOP
標(biāo)志,目標(biāo)Activity必須已經(jīng)存在于任務(wù)棧中。否則,該標(biāo)志將不起作用。
另外,如果要在啟動(dòng)目標(biāo)Activity時(shí)清除目標(biāo)Activity本身,可以使用FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
的組合標(biāo)志,示例如下:
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
標(biāo)志,可以確保目標(biāo)Activity不會(huì)被重新創(chuàng)建,而是直接復(fù)用已存在的實(shí)例。