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

Android 動態修改應用圖標與名稱:Activity Alias 切換與 Launcher 限制

     編輯:程式設計綜合問答

可行方案:Activity Alias

在 `AndroidManifest.xml` 定義多個 `` 指向同一主 Activity,每個 alias 有獨立 `android:icon`、`android:label`、`android:enabled`。運行時啟用/禁用 alias:

PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(
    new ComponentName(this, "com.example.MainAlias"),
    PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
pm.setComponentEnabledSetting(
    new ComponentName(this, "com.example.DisguiseAlias"),
    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);

限制

  • **僅影響啟動器圖標/名稱**,應用列表 (設置 → 應用) 仍顯示主清單配置。
  • 第三方 Launcher (小米/OPPO/桌面) 可能**忽略 alias**,直接讀主清單。
  • Android 12+ 需在清單 `` 聲明或導出組件。

結論

若需**完全偽裝**(含應用列表),**需 Root 修改系統 PackageManagerService 緩存或替換 APK 資源**,屬繞過安全機制,**不建議在正規應用中實現**。

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