您的位置:首页 > 其它

禁用APK以及恢复使用APK

2013-11-07 17:50 85 查看

1.将当前APK禁用掉[kill app]:

提供包名和主Activity名称,设置Component的属性为 COMPONENT_ENABLED_STATE_DISABLED,flage为DONT_KILL_APP。

Settings.Secure.putInt(getContentResolver(), Settings.Secure.DEVICE_PROVISIONED, 1);
PackageManager pm = getPackageManager();
ComponentName name = new ComponentName(this, FactoryTest.class);//提供包和主Activity名称
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);


设置成功后,可以再次命令启动该应用,会提示主Acitivity在AndroidMainFest.xml中没有显示注册之类的error.同时在应用列表中也再也找不到该应用。

同时也可以通过查看/data/system/packages.xml中会出现:

<item name="android.permission.FACTORY_TEST" package="android" protection="2" />

2.恢复APK的使用:--激活apk的使用

需要在当前apk中重写一个开机启动的类,在该类中添加如下代码:

Settings.Secure.putInt(ctx.getContentResolver(), Settings.Secure.DEVICE_PROVISIONED, 1);
PackageManager pm = ctx.getPackageManager();
ComponentName name = new ComponentName(ctx, FactoryTest.class);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED);


----尝试过直接修改/data/system/packages.xml,但是木有作用~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: