背景
从版本 4.2 开始,Android 支持多用户(链接在这里和这里)。
每个用户都有自己的应用程序,他们的私人数据只对用户可见。
问题
每个用户的数据封装在路径和访问文件方面如何工作?
我的意思是,每个用户的路径是什么:
- 私人内部存储。
- 模拟的外部存储(内置外部存储)
- “真正的”外部存储(SD卡)
?
我猜用户可以看到存储在属于其他用户的 sd 卡上的数据,但是模拟的外部存储呢?他们是否也可以写入其他用户的文件或只是读取它们?
每个用户是否会自动获得自己的特殊路径?还是开发人员应该处理这个?
如果开发者需要处理,应该用什么作为用户的ID呢?
文档说:
无论您使用这些 API 中的哪一个来保存给定用户的数据,在以不同用户身份运行时都无法访问这些数据。
但这一切都假设您将 API 用于您自己的路径。应用程序是否可以通过其他途径绕过这一点?
应用程序可以查询关于同一设备上自身的每次安装的什么信息?他们能得到其他用户的应用程序的大小吗?他们甚至可以获得其他用户的应用程序列表吗?
同一应用程序的多次安装是否也需要多个大小?