需在不修改框架代碼前提下,阻止用戶通過返回鍵關閉 Activity。
@Override
public void onBackPressed() {
// 1. 彈窗確認
new AlertDialog.Builder(this)
.setMessage("確定要退出?")
.setPositiveButton("確定", (d, w) -> super.onBackPressed()) // 真正關閉
.setNegativeButton("取消", null)
.show();
// 2. 或直接不調用 super.onBackPressed(),Activity 不會關閉
// 3. 也可移動任務到後台:moveTaskToBack(true);
}
finish() 調用(代碼主動關閉)。ActivityManager.killBackgroundProcesses。以上屬於框架/系統行為,**不修改框架無法攔截**,只能在 onStop/onDestroy 做存檔/清理。
專注於「返回鍵攔截」這一可控入口,滿足大多數「防誤退出」需求。