私は現在、携帯電話のコンタクトリストにコンタクトを挿入する必要のあるアプリを開発中です。 ContactsContract.RawContacts一括挿入を使用して、連絡先を電話帳に正常に挿入しました。それらを更新しようとしたときがコンタクトインサートに入っていますContact_ID
http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html
しかし、彼らはだけではなく、古いものを交換し、より多くのPHONENUMBERを追加します。
私はContacts_IDを介してどこに連絡先が来たのか、明らかに更新時に古い電話番号を置き換えることができます。今
http://developer.android.com/reference/android/provider/ContactsContract.Data.html
私の質問ですが、それは、挿入時にContacts_IDを取得することは可能でしょうか?このコードで連絡先を挿入すると、次のようになります。
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
...
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, accountType)
.withValue(RawContacts.ACCOUNT_NAME, accountName)
.build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, "Mike Sullivan")
.build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
私はContacts_IDを返信しますか?
ご連絡いただければありがとうございます。
ありがとう、それも私のために働く。あなたは私のために大きな問題を解決したばかりです – Max
問題ありません。多分あなたは私に手を差し伸べることができます:http://stackoverflow.com/questions/9907751/android-update-a-contact – Manitoba