Android SDK > 5 を使用して、ACTION_INSERT アクティビティを開始して連絡先を作成しています。次のコードを使用して、連絡先に複数の電話番号 (職場、自宅など) を追加したい:
Intent newIntent = new Intent(Intent.ACTION_INSERT,
ContactsContract.Contacts.CONTENT_URI);
for(ContactInfo.Phone p : phones)
{
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE, p.number);
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_ISPRIMARY, p.isPrimary ? new Integer(1) : null);
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, unconvertPhoneType(p.type));
}
(unconvertPhoneType() は型を CommonDataKinds.Phone.TYPE_XXX として取得する関数です)
連絡先に挿入されている例は 1 つだけです。上記の何が問題になっていますか?
さらに、LogCat ログには、次のエラーもあります。
12-14 11:09:03.015: WARN/Bundle(1724): キーの phone_type には文字列が必要でしたが、値は java.lang.Integer でした。デフォルト値が返されました。
PHONE_TYPEから来ているように見えますが、CommonDataKinds.Phone.TYPE_XXXは整数型なのでわかりません...その原因は何ですか?
ありがとう!