Android 应用程序共享相同 UID 的问题
Posted
技术标签:
【中文标题】Android 应用程序共享相同 UID 的问题【英文标题】:Issues with Android apps sharing same UID 【发布时间】:2013-08-07 23:20:54 【问题描述】:我有三个安卓应用:app_1、app_2 和 app_3。所有人都使用相同的密钥签名并共享相同的 UID。 app_1 和 app_3 没有持久存储(没有数据库 + 文件系统),它们都在 app_2 用户空间上工作。我有两个问题:
如果 app_2 死掉或被系统关闭,它的用户空间会怎样? app_1 和 app_2 还能访问吗?
我需要一种方法来在 app_1 和 app_3 完成持久存储时通知 app_2,然后 app_2 可以采取一些措施。我不确定我是否在 app_2 中运行带有一些事件侦听器的服务是否符合我的需要。是否有保证的方法可以让 app_2 进入睡眠模式并在事件期间唤醒?还有其他方法吗?
【问题讨论】:
【参考方案1】:即使应用程序未运行,您在 /data/data 中的持久存储也将保持不变。只有当您删除应用程序时,它才会被擦除。也不要硬编码你的路径,因为在 4.3 中每个用户都有自己的数据路径。
广播侦听器将用于此目的。在应用 2 的清单中声明它。
【讨论】:
感谢您的及时回复!我知道自 4.2 以来已经引入了多用户支持。我仍然希望将共享数据保存在相对于 app_2 的目录中,即 /data/data//以上是关于Android 应用程序共享相同 UID 的问题的主要内容,如果未能解决你的问题,请参考以下文章
protected-broadcast 系统应用自定义广播规范