Android多用户应用安装的一些问题

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不会搜索到这个应用

你可能感兴趣的:(Android多用户应用安装的一些问题)