【发布时间】:2012-06-18 12:04:51
【问题描述】:
在一个学校项目中,我实现了一个工作同步适配器,用于将联系人与我的应用程序同步。 我已经在模拟器和 Android 4.0.3 上的 HTC Evo 3D 上尝试过它,它可以工作。
但在某些设备(HTC Hero 4.0.3 和 Xperia X10 2.3.7)上,当我为我的应用添加帐户时,该帐户不显示同步联系人行。我在那些未授予 logCat WRITE_SECURE_SETTINGS 的设备上看到。
与此同时,我看到市场应用程序(不是系统应用程序,例如:Hotmail)可以拥有一个与我无法拥有的相同联系线路的帐户。
他们是怎么做到的?我能做些什么呢?
我只需要一个快速的答复,截止日期非常接近。
【问题讨论】:
-
WRITE_SECURE_SETTINGS是/应该是signatureOrSystem(即只有系统应用程序或使用平台证书签名的应用程序才能使用它)并且您不应该请求它。 -
有没有办法在没有该权限的情况下添加没有密码的帐户以在系统中添加联系人?或者我该如何签署我的申请?
-
好吧,对于初学者来说,看看:您用于同步适配器的 XML 定义、帐户身份验证器、来自您的帐户身份验证器本身的一些 sn-ps - 包括您调用 @987654323 的地方@ 启用联系人同步等。
-
通常情况下,您会为准系统适配器 + 身份验证器使用以下权限:
MANAGE_ACCOUNTS、AUTHENTICATE_ACCOUNTS、WRITE_SYNC_SETTINGS(用于调用setIsSyncable) - 可能还有GET_ACCOUNTS&USE_CREDENTIALS.
标签: android permissions android-contacts android-syncadapter