SystemUI中的访客模式整理

时间:2022-09-09 09:10:39


SystemUI中的访客模式


在SystemUI中下拉后包含访客模式的视图为StatusBarHeaderView.java 其中访客模式图标MultiUserSwitch.java
关于是否开启访客模式由UserManager类来控制
   
   
  1.     public static boolean supportsMultipleUsers() {
  2.         return getMaxSupportedUsers() > 1
  3.                 && SystemProperties.getBoolean("fw.show_multiuserui",
  4.                 Resources.getSystem().getBoolean(R.bool.config_enableMultiUserUI));
  5.     }

若访客模式默认不开启则点击此图标将会弹出机主信息 关于是否开启访客模式都多方面条件控制 1、SystemProperties "fw.show_multiuserui" 是否配置开启配置访客模式功能 2、R.bool.config_enableMultiUserUI 是否支持多用户。系统默认值,若从Properties中获取不到则使用默认值 3、getMaxSupportedUsers()是否大于1,也是有多个控制条件
   
   
  1.     public static int getMaxSupportedUsers() {
  2.         // Don't allow multiple users on certain builds
  3.         if (android.os.Build.ID.startsWith("JVP")) return 1;
  4.         // Svelte devices don't get multi-user.
  5.         if (ActivityManager.isLowRamDeviceStatic()) return 1;
  6.         return SystemProperties.getInt("fw.max_users",
  7.                 Resources.getSystem().getInteger(R.integer.config_multiuserMaximumUsers));
  8.     }

1、android.os.Build.ID.startsWith("JVP") 不允许用户在特定的版本上使用    因多用户手机专利早已被Symbian雇员注册,设计专利原因 2、ActivityManager.isLowRamDeviceStatic() 是否是低内存设备  ro.config.low_ram 系统配置是否为低内存设备 3、SystemProperties "fw.max_users" 系统配置的的最大用户数 4、R.integer.config_multiuserMaximumUsers 最大支持的用户数。系统默认值,默认为1,若从Properties中获取不到则使用默认值