SystemUI中的访客模式整理

本文深入探讨了SystemUI中的访客模式,包括其功能、实现原理和应用场景,旨在为理解Android系统的用户界面管理和安全机制提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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中获取不到则使用默认值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值