我正在创建一个自定义 Android SyncAdapter,并在 SDK 示例“SampleSyncAdapter”之后遇到了问题。- 我正在创建我的xml/syncadapter.xml
. 这是我感到困惑的部分:
android:contentAuthority="com.android.contacts"
android:accountType="com.example.android.samplesync"
AbstractThreadedSyncAdapter的文档指出:
和属性指示此同步适配器服务于哪个内容授权和帐户类型
android:contentAuthority
。android:accountType
该文档是循环的,因为它没有说明名称尚未告诉您的内容。我的印象是两者都将以我公司的名称开头,com.acme.
但从那里我一无所知。我怀疑字符串可以是任何东西,只要它们是全局唯一的,以免与同一设备上的任何其他应用程序冲突。我认为这意味着我需要在代码的其他地方使用这些确切的字符串。但是,我想知道,我将在哪里需要这些字符串?!我尝试 grep forcom.android.contacts
并且前面提到的文件是唯一使用它的地方,我可以找到。因此,无法contentAuthority
通过查看示例来判断它是如何使用的。
如果是这样,我可以将它们都放在字符串资源中并在需要的地方通过资源 ID 引用它们吗?这些属性究竟是什么以及它们是如何使用的?有没有更好的方法来确定我应该为自己的这些和其他领域的应用程序选择什么值?