我已经在我的应用程序中实现了一个同步适配器,它需要在设备帐户设置中添加一个帐户。我遵循了Android文档中给出的相同方法。它工作正常,直到棉花糖,我可以看到我的帐户列在设备帐户中。但在 Android N 预览版中,帐户不会添加到设备帐户。AccountManager 的 addAccountExplicitly() 方法总是返回 false。有人遇到过这个问题吗?
不确定这是否是同一个问题,但是当前版本的Android N映像上的帐户管理器存在问题。基本上,如果您:
- 将帐户添加到帐户管理器
- 卸载应用程序
- 重新安装应用程序
- 尝试再次添加帐户
这将失败,你将在日志中看到以下内容:
W/AccountManagerService( 1503): insertAccountIntoDatabase: Account {name=foo@bar.com, type=com.foo.bar}, skipping since the account already exists
这是一个已知问题,已向 Google 报告:https://code.google.com/p/android/issues/detail?id=210992https://code.google.com/p/android/issues/detail?id=210951
我有完全相同的问题。我可以通过手动转到应用程序设置并启用 Сontacts 权限来修复它。我不知道怎么做,但在那之后我能够毫无问题地使用addAccountExplicitly()
方法。我什至再次禁用了该权限并清除了应用程序数据,但它仍然可以正常工作......
重新安装应用程序后 - 问题再次出现。
这在最新的Android N版本中是否已修复。