本部分假定您已完成“Hello World”指南。它将引导您将此示例转换为完整实现。它通常会链接到本文档的开发参考部分。
将逻辑从 hello world 示例切换为实际的跨资料逻辑
您可以随意让其保持混乱状态,暂时无需考虑可测试性等最佳实践。请务必检查该功能是否正常运行!
这包括修改跨资料类、跨资料调用和提供程序。如果提供程序方法或提供程序类的构造函数中需要 Context
,您可以添加一个参数作为参数,SDK 会自动提供它。
您需要决定调用是异步还是同步。您还应确保跨资料调用使用的所有参数和返回类型均受支持。
重构逻辑,以便获得可提交的架构
请先仔细阅读每个架构建议,以免进行多次相互冲突的重构。规划好所有更改后,请仔细检查并勾选这些更改,并在每次更改后重新构建和测试。
仔细检查隐私和安全
仔细检查,确保您不会将数据存储在错误的配置文件中,也不会从错误的配置文件向服务器发送数据(包括服务器日志记录)。
考虑其他推荐的解决方案
- 请考虑将配置文件指定为主要资料,以简化通话。考虑一下如果您的逻辑在任一配置文件上运行会发生什么情况。
- 当其他配置文件的可用性发生变化时,刷新界面。
- 如果您需要采取任何措施,请查看例外情况的讨论。
- 如果您认为用户可能只会在两个配置文件中使用其中一个应用图标,请添加
android:crossProfile = "true"
清单属性。这可以防止将用户未直接使用的应用委托到较低的应用待机分桶。
添加测试
请参阅测试文档。
考虑权限
如果您的应用完全同意,请将权限从
INTERACT_ACROSS_USERS
切换为INTERACT_ACROSS_PROFILES
,并实现向用户请求权限。在被列入许可名单之前,声明INTERACT_ACROSS_PROFILES
的应用无法上传到 Play 商店,因此在上传之前应将此清单更改置于标志之后。如果您的应用已预先授予权限,那么如果您想向之前关闭该权限的用户发出提示,也可能需要执行此操作(但请负责任,不要向用户发送垃圾内容)。