多用户设备中的 Android ContentProvider 和服务
Posted
技术标签:
【中文标题】多用户设备中的 Android ContentProvider 和服务【英文标题】:Android ContentProvider and Service in Multi-User Devices 【发布时间】:2019-07-15 17:35:36 【问题描述】:在多用户 android 设备中,当我们切换到其他次要 用户(使用Ui 或以编程方式)时,Android 是否保留任何Primary 活跃的用户组件,例如启动 ContentProviders 或后台 Services
【问题讨论】:
【参考方案1】:要知道的主要事情是 Android 用户可以在后台运行(至少在 Android 10 之前)。如果您启动用户 A 然后切换到用户 B,用户 B 将成为活动用户,但用户 A 仍将在后台运行,直到 Android 决定停止它,因为资源不足。
对于 Primary 用户尤其如此,因为默认情况下它永远不会被 Android 停止(因为它与运行 Android 的所有系统服务的 System 用户合并)。
这意味着当您切换到Secondary用户时,Primary用户仍将继续在后台运行,因此Primary用户的应用程序将继续在后台运行(他们的大部分Android组件也是如此)。在某些时候,如果 Android 需要资源,它可以决定停止任何 Android 用户的应用程序,甚至完全停止任何在后台运行的辅助 Android 用户。
【讨论】:
以上是关于多用户设备中的 Android ContentProvider 和服务的主要内容,如果未能解决你的问题,请参考以下文章
Android 设备管理员 - 禁用未在(多用户)访客帐户中应用的相机