0
我曾嘗試使用下面的代碼創建了我的應用程序自定義帳戶:的Android編程插入接觸不會鏈接到我的應用程序
Account account = new Account(username, accountType);
ContentResolver.setIsSyncable(account, context.getString(R.string.CONTACT_AUTHORITY), 1);
ContentResolver.setSyncAutomatically(account, context.getString(R.string.CONTACT_AUTHORITY), true);
if(accManager.addAccountExplicitly(account, password, userData)) {
Intent intent = new Intent();
intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, account.name);
intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, account.type);
intent.putExtra(AccountManager.KEY_AUTHTOKEN, account.type);
context.setAccountAuthenticatorResult(intent.getExtras());
context.setResult(Activity.RESULT_OK);
return account;
} else {
// display error
}
然後我試着用插入一個新的聯繫方式如下:
// insert new contact
ContentValues values = new ContentValues();
values.put(ContactsContract.RawContacts.ACCOUNT_TYPE, accountType);
values.put(ContactsContract.RawContacts.ACCOUNT_NAME, accountName);
Uri rawContactUri = getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
Log.d("ABC", "New raw contact id = " + rawContactId);
// insert new rawContact id
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "zzzzzawesome");
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
我能夠插入新的聯繫人,但問題是當我查看聯繫人列表中的該聯繫人時,它沒有在「連接的Via」部分中顯示我的應用圖標,而是顯示了電話圖標,任何想法爲什麼?
我使用三星S5測試順便說一句。