Intent intent=new Intent(context,MyClass.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
上面的代碼將會結束所有 stack 中的 activities,並且會重新啟動一個 activity。
當我把這個activity加入到一個類中,能正常運行,但在其它的類同樣的位置,也就是同一行能執行,還會啟動一個新的activity,但是當前的activity不能結束,一直開啟著。
這是什麼情況呀?
首先FLAG_ACTIVITY_CLEAR_TOP並不是清空activity棧中的所有activity,而是你跳轉到的activity的所有上方的activity,當然是在啟動模式是默認的情況下;
然後.finish()寫全了是this.finish(),也就是XXXActivity.this.finish();看看是否結束的是自己要結束的activity.