我根据SDK中的示例编写了自己的SyncAdapter.它应该从外部源添加联系人,它在设备模拟器中工作得很好.但是当我在HTC Desire上运行它时,我无法在Contacts->显示选项中看到我的帐户
此外,我在Desire上尝试了谷歌的例子,也无法在这个列表中看到它们.有谁知道任何解决方案?
解决方法
我通过默认使我的帐户可见来解决它.
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(); }
默认情况下该帐户可见后,您可以在联系人的帐户列表中看到它