高级示例

本部分假定您已完成“Hello World”指南。它将引导您将此示例转换为完整实现。它通常会链接到本文档的开发参考部分。

将逻辑从 hello world 示例切换为实际的跨资料逻辑

您可以随意让其保持混乱状态,暂时无需考虑可测试性等最佳实践。请务必检查该功能是否正常运行!

这包括修改跨资料类、跨资料调用和提供程序。如果提供程序方法或提供程序类的构造函数中需要 Context,您可以添加一个参数作为参数,SDK 会自动提供它。

您需要决定调用是异步还是同步。您还应确保跨资料调用使用的所有参数和返回类型均受支持

重构逻辑,以便获得可提交的架构

请先仔细阅读每个架构建议,以免进行多次相互冲突的重构。规划好所有更改后,请仔细检查并勾选这些更改,并在每次更改后重新构建和测试。

仔细检查隐私和安全

仔细检查,确保您不会将数据存储在错误的配置文件中,也不会从错误的配置文件向服务器发送数据(包括服务器日志记录)。

  • 请考虑将配置文件指定为主要资料,以简化通话。考虑一下如果您的逻辑在任一配置文件上运行会发生什么情况。
  • 当其他配置文件的可用性发生变化时,刷新界面。
  • 如果您需要采取任何措施,请查看例外情况的讨论。
  • 如果您认为用户可能只会在两个配置文件中使用其中一个应用图标,请添加 android:crossProfile = "true" 清单属性。这可以防止将用户未直接使用的应用委托到较低的应用待机分桶

添加测试

请参阅测试文档

考虑权限

  • 如果您的应用完全同意,请将权限从 INTERACT_ACROSS_USERS 切换为 INTERACT_ACROSS_PROFILES,并实现向用户请求权限。在被列入许可名单之前,声明 INTERACT_ACROSS_PROFILES 的应用无法上传到 Play 商店,因此在上传之前应将此清单更改置于标志之后。

  • 如果您的应用已预先授予权限,那么如果您想向之前关闭该权限的用户发出提示,也可能需要执行此操作(但请负责任,不要向用户发送垃圾内容)。