pm 命令行
pm enable, disable, disable-user, disable-until-used, default-state:
these commands change the enabled state of a given package or
component (written as "package/class").
Pm.java
if ("enable".equals(op)) {
return runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
}
if ("disable".equals(op)) {
return runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
}
if ("disable-user".equals(op)) {
return runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER);
}
if ("disable-until-used".equals(op)) {
return runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED);
}
if ("default-state".equals(op)) {
return runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
}
enable/disable 可以禁止整个应用或者应用某个组件,java对应方法就是setApplicationEnabledSetting或者setComponentEnabledSetting
disable-user 禁止某个应用,禁止某个应用后,即使调用上面的方法enable该应用的某个组件,也不会生效,对应java方法就是setApplicationEnabledSetting
disable-until-used 大体等同于disable-user,但是用户界面仍然可以看到并选择他们,例如选择输入,设备管理器等,一旦触发了这些条件,这个应用就会被enable
default-state 恢复应用或者组件到AndroidManifest中定义的默认状态,java对应方法就是setApplicationEnabledSetting或者setComponentEnabledSetting
pm hide/unhide 可以隐藏/显示某个应用,即隐藏后,应用安装列表中不会看到这个应用,即pm -l不会搜索到这个应用
网友评论