6

私は、カスタムのアカウントの種類を作成したと私は正常にアンドロイドContactsContractのContentProviderにそのタイプの連絡先を作成することができます。しかし、私は、デフォルトの連絡先アプリで連絡先を編集するときに、自分のカスタムアカウントのラベルとアイコンを表示する方法を考え出すのに苦労しています。カスタム連絡先タイプを編集する場合カスタムアカウントの種類をAndroidの連絡先アプリに表示するにはどうすればよいですか?

は、ラベルが右にアプリのアイコンで、「連絡先」のようなものでなければなりません。代わりに、自分のタイプの連絡先を編集すると、常に「電話専用、連絡なしの連絡先」のラベルが表示されます。例については、最初のスクリーンショットを参照してください。

奇妙なことは、それが(それが「1415」で始まる)間違ったラベルの下のスクリーンショットで見ることができ、自分のアカウント名をピックアップしないということです。

そして、私は成功したアカウントの下で設定アプリで私のアプリのラベルとアイコンを示してきたので、私は、私は右の何かをやっている知っています。それを証明するための2番目のスクリーンショットを参照してください(アカウントラベルは「ボルト」です)。

Editing a custom contact in the Android contacts appSettings 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内から連絡先を作成しようとしましたが、何も変更されませんでした。私は他にもいくつか試しましたが、まだ何も動いていません。

答えて

3

私は最終的に問題が何であったかを考え出しました。私sync-adapter素子において

android:contentAuthority属性は、私が連絡先データを照会し、書き込みに使用するものは技術的である私自身の連絡先ContentProvider、用カスタムコンテンツの権限に設定しました。しかし、デフォルトの連絡先アプリにあなたの連絡先が表示されることが判明しました。この属性は"com.android.contacts"に設定する必要があります。

+0

は同期された連絡先には、まだ「電話のみ、同期されていない連絡先」として表示していますか?あなたの回答ごとにSyncAdapterのアンドロイド:contentAuthority宣言を変更したとき、私は最後に連絡先アプリで自分のアカウントタイプを見ることができましたが、アプリから同期された連絡先は、のみ、unsynced "。 –

+0

これはまだ問題だとは思っていませんでしたが、私の連絡先に「電話のみ、連絡なしの連絡先」が表示されなくなったことを確認して確認しました。おそらくこれは挿入/更新時にCLIENT_IS_SYNCADAPTERを使用することと関係していますか? – amb

関連する問題