我已经创建了一个自定义帐户类型,并且可以在 android ContactsContract ContentProvider 中成功创建该类型的联系人。但我在弄清楚如何在默认联系人应用程序中编辑联系人时显示我的自定义帐户标签和图标时遇到了很多麻烦。
编辑自定义联系人类型时,标签应类似于“联系人”,右侧是应用程序的图标。相反,编辑我类型的联系人时总是显示“仅限电话、未同步的联系人”标签。有关示例,请参阅下面的第一个屏幕截图。
奇怪的是,它确实获取了我的帐户名,您可以在错误标签下方的屏幕截图中看到该名称(以“+1415”开头)。
我已经成功地在帐户下的设置应用程序中显示了我的应用程序的标签和图标,所以我知道我正在做正确的事情。请参阅下面的第二个屏幕截图以获取证明(帐户标签为“Bolt”)。
我有以下authenticator.xml:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="@string/account_type"
android:label="@string/app_name"
android:icon="@drawable/app_icon"
android:smallIcon="@drawable/app_icon" />
这是我的syncadapter.xml:
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="@string/contacts_content_authority"
android:accountType="@string/account_type"
android:userVisible="true"
android:allowParallelSyncs="false"
android:isAlwaysSyncable="true"
android:supportsUploading="false" />
谁能指出我哪里出错了?我可以根据需要提供更多信息。我尝试使用 CLIENT_IS_SYNCADAPTER 参数从 SyncAdapter 中创建联系人,但这没有改变任何内容。我也尝试了其他一些方法,但还没有任何效果。
我终于弄清楚问题是什么了。
In my sync-adapter
元素的android:contentAuthority
属性已设置为我自己的联系人的自定义内容权限ContentProvider
,从技术上讲,我用它来查询和写入联系人数据。但事实证明,为了让您的联系人显示在默认联系人应用程序中,必须将此属性设置为"com.android.contacts"
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)