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

Android 禁用/鎖定特定 App:原生方案、第三方啟動器與 MDM 企業級選項

     編輯:程式設計綜合問答

需求

禁止啟動某 App,或啟動時需輸入密碼/圖案。

方案比較

方案適用場景實作難度權限需求繞過難度
第三方啟動器內建鎖定 (Nova, Niagara, Hyperion, CM Launcher 等)個人使用、家長控制極低 (設定開啟)無低 (清除資料/換啟動器即解)
AppLock 類應用 (AppLock, Norton App Lock, Smart AppLock)個人隱私保護低 (安裝設密碼)無障礙服務/顯示在頂層中 (可被強制停止/清除資料)
Digital Wellbeing / 家長控制 (Android 9+ 內建)家長管控孩童裝置低 (Google Family Link)裝置管理員/家長帳號高 (需家長帳號解鎖)
裝置管理員 / Device Policy Controller (DPC)企業 MDM、專用裝置高 (需開發 DPC App)Device Admin / Device Owner (QR 碼/NFC 佈署)極高 (需出廠重置移除)
Root + 修改 package-manager / freeze極客/測試高 (需 Root)Root極高 (系統級禁用)

推薦:個人使用 → 第三方啟動器或 AppLock

  1. 安裝 Nova Launcher (或同類) → 設定 → 應用程式抽屜 → 隱藏應用 / 鎖定應用 → 設定圖案/指紋。
  2. 或安裝 AppLock → 設定主密碼 → 選擇要鎖定的 App → 開啟保護。

企業級:MDM 方案 (Device Owner 模式)

// 1. 開發 DPC App (繼承 DeviceAdminReceiver)
public class MyAdminReceiver extends DeviceAdminReceiver {
    @Override public void onEnabled(Context c, Intent i) { /* 已啟用 */ }
    @Override public void onDisabled(Context c, Intent i) { /* 已停用 */ }
}

// 2. AndroidManifest.xml

    
    
        
    


// 3. device_admin_policies.xml

    
          
          
          
    


// 4. 佈署:QR 碼/NFC/零觸控註冊為 Device Owner
// 5. 程式碼鎖定套件
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
ComponentName admin = new ComponentName(this, MyAdminReceiver.class);
dpm.setPackagesSuspended(admin, new String[]{"com.target.app"}, true); // 暫停/禁用
// 或 setApplicationHidden 隱藏圖示

注意事項

  • Android 10+ setPackagesSuspended 需 Device Owner 權限。
  • 一般 App 無法直接禁用其他 App (需 SUSPEND_PACKAGES 系統簽名權限)。
  • 「隱藏圖示」≠「禁止執行」,使用者仍可透過設定/ADB 啟動。
  • 家長控制請用 Google Family Link,免費、跨平台、難繞過。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved