首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 攔截 Home 鍵長按:在 onPause 中銷毀並重建 Activity

     編輯:程式設計綜合問答

類似鎖屏應用,在 onPause 中呼叫 finish() 並立即重新啟動自身,使系統近期任務列表彈出後瞬間消失。

核心程式碼

@Override
protected void onPause() {
    super.onPause();
    Intent restart = new Intent(this, getClass());
    restart.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(restart);
    finish();
}

原理

  • 長按 Home 鍵觸發系統近期任務 UI,導致 Activity 進入 onPause。
  • 立即重啟並清除任務堆疊,系統任務列表失去目標而自動關閉。
  • 使用者感知為「長按無反應」。

風險

  • 極度干擾系統行為,可能被安全軟體攔截或使用者厭惡。
  • 需妥善處理資料儲存,避免頻繁重建導致資料遺失。
  • Android 10+ 對背景啟動限制較嚴,可能失效。

僅建議用於企業級專用設備(如 Kiosk 模式),一般應用不應使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved