2010-12-05 18 views
7

SDKのサンプルに基づいて独自のSyncAdapterを作成します。外部ソースから連絡先を追加する必要があり、デバイスエミュレータで完璧に動作します。しかし、私がHTC Desireで実行すると、連絡先 - >表示オプションのアカウントが表示されません。HTCの端末の連絡先アプリの設定にアカウントが表示されない

また、私はDesireのgoogleの例を試してみました。誰もが解決策を知っていますか?

答えて

6

私はアカウントをデフォルトで表示することで解決します。そのアカウントの後

ContentProviderClient client = getContentResolver().acquireContentProviderClient(ContactsContract.AUTHORITY_URI); 
ContentValues values = new ContentValues(); 
values.put(ContactsContract.Settings.ACCOUNT_NAME, account.name); 
values.put(ContactsContract.Settings.ACCOUNT_TYPE, account.type); 
values.put(ContactsContract.Settings.UNGROUPED_VISIBLE, true); 
try 
{ 
    client.insert(Settings.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build(), values); 
} 
catch (RemoteException e) 
{ 
    e.printStackTrace(); 
} 

はデフォルトで表示され、あなたは「表示オプション」標準コンタクトに見えるあなたのアカウントを作成するには連絡先

+0

これはsyncadapterから呼び出される必要がありますか? – Roel

+0

これは私の状況では何もしません。表示する連絡先が少なくとも1人必要ですか? – Roel

+0

2010年にHTC Desireで働いていました。今度から多くのことが変わった=) –

0

でのアカウントリストでそれを見ることができますアプリケーションにはSyncAdapterがあり、hereのようにsyncadapter.xmlに指定されたメタデータです。

また、android.permission.WRITE_SYNC_SETTINGSの使用をAndroidManifest.xmlに指定する必要があります。

UNGROUPED_VISIBLE連絡先グループの一覧にのみ表示されます。