当前位置: 首页 > news >正文

【AAOS】【源码分析】用户管理(三)-- 用户启动

用户首次启动大体流程

用户启动过程中,涉及很多模块,其中UserController模块负责居中调度

  • 创建并启动主用户:系统在首次启动时自动创建 User 0,在SystemReady时,由 SystemServer 启动系统用户(User 0),主用户是以Background方式运行,在用户启动过程中发送一系列广播通知,包括:

    • android.intent.action.USER_STARTED:表示用户已经启动完成。

    • android.intent.action.USER_STARTING:表示用户启动过程即将开始。

  • 创建Secondary用户:CarUserService在启动时,会创建相应的Secondary用户(默认用户id为10),涉及的广播通知为:
    • android.intent.action.USER_ADDED:表示用户已经创建完成。
  • 启动Secondary用户:在用户创建完毕后,会直接启动Secondary用户,涉及的广播通知:
    • android.intent.action.USER_STARTED:表示用户已经启动完成。

    • android.intent.action.USER_STARTING:表示用户启动过程即将开始。

  • 解锁用户:在用户启动后,调用maybeUnlockUser来解锁Secondary用户的父用户及Secondary用户,涉及的广播通知:

    • android.intent.action.USER_UNLOCKED:解锁主用户。

    • android.intent.action.USER_UNLOCKED:解锁Secondary用户。

  • 切换用户:解锁完毕后,会将Secondary用户切换为foreground,涉及的广播通知:

    • android.intent.action.USER_BACKGROUND:主用户切换为Background用户。

    • android.intent.action.USER_FOREGROUND:Secondary用户切换为Foreground。

    • android.intent.action.USER_SWITCHED:发送用户切换完毕通知。

配置项

用户名配置

  • 默认Owner用户配置
<resources><string name="owner_name">Driver</string>
</resources>
  • 默认Guest用户配置 
<resources><string name="default_guest_name">Guest</string>
</resources>

用户权限

packages/services/Car/car_product/rro/overlay-config/androidRRO/res/xml/config_user_types.xml

<user-types><full-type name="android.os.usertype.full.SECONDARY" ><default-restrictions /></full-type><full-type name="android.os.usertype.full.GUEST" ><default-restrictions no_factory_reset="true" no_remove_user="true"no_modify_accounts="tru
http://www.xdnf.cn/news/895429.html

相关文章:

  • 1.3 fs模块详解
  • [蓝桥杯]植树
  • Web后端基础(Maven基础)
  • RC1110 could not open xxx_resource.rc
  • 《树上分组背包》题集
  • 架构师级考验!飞算 JavaAI 炫技赛:AI 辅助编程解决老项目难题
  • @Builder的用法
  • Python--pandas.qcut的用法
  • 如何通过ETLCloud实现跨系统数据同步?
  • Verilog状态机异常跳转解析
  • Modbus TCP 通信基础
  • linux应急响应检查脚本
  • C语言 标准I/O函数全面指南
  • Form开发指南-第二弹:基本配置与开发流程
  • 用ApiFox MCP一键生成接口文档,做接口测试
  • C++ 重载和模板
  • 离散数学_数理逻辑(三):一阶逻辑概念及一阶逻辑命题符号化
  • 蒙特卡罗模拟: 高级应用的思路和实例
  • minimatch 详解:功能、语法与应用场景
  • ResolverActivity 优先级
  • 竞品分析六大步骤
  • 如何防止看板任务长期停滞不前
  • 【xshell】已经安装对应版本xftp,xshell中点击xftp快捷按钮,提示“使用此功能需要Xftp。单击下载按钮,转到Xftp下载页”
  • 如何在运动中保护好半月板?
  • 插入排序,二分查找,字符数组 day8
  • linux C语言中的动态库 静态库说明
  • 智慧停车设备选型指南:何时应优先考虑免布线视频桩方案?
  • QT中使用libcurl库实现到ftp服务器的上传和下载
  • Debugger encountered an exception:Exception at 0x7ff809232bdc
  • 【6.2-6.9学习周报】