首先一般來說我們做項目都會自己先定義一個Activity的子類舞虱,然后所有的Activity都來繼承這個子類,作為所有Activity的父類出現(xiàn)
在棧頂雙擊返回選擇退出的時候直接用eventBus來通知這個Activity
這個是棧頂?shù)念惣僭O(shè)他是MainActivity
/**雙擊退出**/
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
EventBus.getDefault().post(new ExitRongMoMo());
return;
}
this.doubleBackToExitPressedOnce = true;//原來是false的話點擊一次back鍵將其改為true杖挣,再按一次執(zhí)行上面if為true則退出
ToastUtil.showShort(MainActivity.this, "雙擊退出");
new Handler().postDelayed(new Runnable() {
@Override
public void run(){ //2秒后改為false
doubleBackToExitPressedOnce=false;
}
}, 2000);
}
這個是EventBus的事件通知
public static class ExitRongMoMo{}
在MainActivity的父類里接收從MainActivity發(fā)來的退出應(yīng)用的信息
/**退出應(yīng)用**/
@Subscribe
public void OnEvent (MainActivity.ExitRongMoMo event){
finish();
}