【问题标题】:hide another application in Android在 Android 中隐藏另一个应用程序
【发布时间】:2016-08-23 17:44:26
【问题描述】:

我正在尝试使用以下代码隐藏另一个应用程序:

PackageManager pm = this.getPackageManager();
pm.setComponentEnabledSetting(new ComponentName("com.sas.remotesample",".Player"),
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP);

并获得以下许可:

<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>

但它会抛出

java.lang.SecurityException: Permission Denial: attempt to change component state

【问题讨论】:

标签: java android


【解决方案1】:

CHANGE_COMPONENT_ENABLED_STATE 有一个 protectionLevelsignature|privileged。这意味着:

  • 您必须构建自己的自定义 ROM,然后使用您用于签署自定义 ROM 的相同签名密钥对您的应用程序进行签名。然后,安装了您的自定义 ROM 的设备将允许您的应用控制其他应用的组件状态。

  • 您的应用必须由用户推送到 root 设备上的系统分区。

否则,您将无法拥有此权限。或者,正如the documentation for the permission 所说,“不供第三方应用程序使用”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2011-09-27
    • 1970-01-01
    相关资源
    最近更新 更多