我有一个应用程序,我通过ID将内部数据链接到手机通讯录。问题是我无法使用默认备份和恢复机制,因为在手机更改后,联系人ID可能会发生变化(通常会发生变化)。
目前我提供导出和导入功能,用于检查联系人的姓名和号码,并使用此数据更新导入数据中的ID。这很麻烦,我想使用androids默认备份和恢复机制,但我目前不能,只要我的应用程序通过ID将内部数据链接到联系人。
如何处理这个问题?有什么想法吗?
用户体验受到手动导出/导入的影响,用户在没有解释的情况下无法理解我的选择。
答案 0 :(得分:0)
您有两个选择:
选项#1:
将您的应用特定数据添加到联系人。备份和恢复将由android框架处理。 Ref: Contacts provider
好处是你没有设置服务器来同步数据。缺点是一些其他应用程序可能会覆盖您的数据。此外,如果用户没有注意登录和同步他们的联系人,则会丢失您的数据(并且他们会丢失他们的联系人)。发生的次数比你想象的要多。
选项#2:
将您的数据存储在您的服务器上(我认为您无论如何都要这样做)。选择用户的唯一标识符(电话,电子邮件) - 用于验证用户的任何内容。将您的数据映射到此标识符(而不是Android框架的联系人ID)。设置同步过程(在凌晨4点和/或充电时同步)并执行同步。
好处是你永远不会失去你的用户'数据。这就是WhatsApp对聊天的看法。实际上,他们上传到谷歌驱动器,并为此使用他们的服务器存储。