java - 在 Android 中隐藏另一个应用程序

标签 java android

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

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

最佳答案

CHANGE_COMPONENT_ENABLED_STATEprotectionLevelsignature|privileged。这意味着:

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

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

否则,您无法持有此权限。或者,如the documentation for the permission声明“不供第三方应用程序使用”。

关于java - 在 Android 中隐藏另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39107664/

相关文章:

java - 将字节解码为 ip 地址

java - 如何将自定义类的 ArrayList 转换为 Java 中的 JsonArray?

java - PageAdapter 不输出正常数据

Android - 谷歌地图清除缓存

java - 为 RESTLET Web 服务编写测试用例的最佳方法是什么?

java - 如何从ConsumerGroup中的所有分区获取最后一条日志

android - 在每个 ListView 元素内的 imageView 上添加一个 OnClickListener

android - “取消选择”TabHost 中的选项卡

android - 将 iPhone 应用程序移植到 Android?如何说服他们不要

android - 如何在 Room 中插入具有一对多关系的实体