gpt4 book ai didi

android - 如何让我的自定义帐户类型显示在 Android 通讯录应用程序中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:58:26 26 4
gpt4 key购买 nike

我已经创建了一个自定义帐户类型,我可以在 android ContactsContract ContentProvider 中成功创建该类型的联系人。但是我在弄清楚如何在默认联系人应用程序中编辑联系人时显示我的自定义帐户标签和图标时遇到了很多麻烦。

在编辑自定义联系人类型时,标签应该类似于“联系人”,您的应用程序图标位于右侧。相反,编辑我的类型的联系人总是显示“仅限电话,未同步的联系人”标签。有关示例,请参见下面的第一个屏幕截图。

奇怪的是它确实提取了我的帐户名,您可以在错误标签下方的屏幕截图中看到它(它以“+1415”开头)。

而且我已经在帐户下的设置应用程序中成功显示了我的应用程序的标签和图标,所以我知道我做对了。请参阅下面的第二个屏幕截图以证明这一点(帐户标签是“Bolt”)。

Editing a custom contact in the Android contacts app Settings app with custom account label and icon

我有以下 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 中创建联系人,但这并没有改变任何东西。我也尝试了其他一些方法,但还没有任何效果。

最佳答案

我终于弄明白问题出在哪里了。

在我的 sync-adapter 元素中,android:contentAuthority 属性被设置为我自己的联系人 ContentProvider 的自定义内容权限,它是从技术上讲,我用它来查询和写入联系人数据。但事实证明,要让您的联系人显示在默认联系人应用程序中,必须将此属性设置为 "com.android.contacts"

关于android - 如何让我的自定义帐户类型显示在 Android 通讯录应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21011569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com