0
次のコードを使用して、プログラムで新しい連絡先を作成します。 このコードでは、特定の詳細を持つ連絡先リスト内に新しい連絡先を作成しますが、同じ連絡先のfirstnameが同じ名字フィールドを持つ複数の連絡先を作成する場合はループからこのコードを実行します。 "Crashre1234"を実行すると、(ループに従って)単一の連絡先のすべてのフィールドが複数回追加されます。私はフィールドを持つ現在のシステム時刻を使用して違いを作成します。 しかし運はありません。 私は何が恋しいのか分かりません。同じfirstnameで複数の連絡先をプログラムで作成するようにしてください
ArrayList<ContentProviderOperation> op_list = new ArrayList<ContentProviderOperation>();
op_list.clear();
long tti = System.currentTimeMillis();
///for(int i=0;i<2;i++)
{
try{
int backRefIndex = 0;
System.out.println("Array List: "+backRefIndex);
op_list.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null)
.build());
//backRefIndex = backRefIndex+1;
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.GIVEN_NAME, "Crashre1234"+"\r")
.build());
//backRefIndex = backRefIndex+1;
/*op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.FAMILY_NAME, "ABCre12")
.build());*/
//backRefIndex = backRefIndex+1;
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(StructuredPostal.FORMATTED_ADDRESS, "Secret password"+tti)
.build());
// backRefIndex = backRefIndex+1;
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, 11+tti)
.withValue(Phone.TYPE, Phone.TYPE_HOME)
.withValue(Phone.LABEL, "")
.build());
// backRefIndex = backRefIndex+1;
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE)
.withValue(Email.DATA, "[email protected]"+tti)
.withValue(Email.TYPE, Email.TYPE_HOME)
.build());
// backRefIndex = backRefIndex+1;
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, backRefIndex)
.withValue(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE)
.withValue(Email.DATA, "[email protected]"+tti)
.withValue(Email.TYPE, Email.TYPE_HOME)
.build());
// backRefIndex = backRefIndex+1;
ContentProviderResult[] result = activity.getContentResolver().applyBatch(ContactsContract.AUTHORITY, op_list);
Uri uri = result[0].uri;
System.out.println("URI: "+uri);
System.out.println("Thread finish");
}catch(OperationApplicationException exp){
exp.printStackTrace();
}catch(RemoteException exp){
exp.printStackTrace();
}
}
正しい形式でコードを追加してください。ここにコピーして貼り付けて、フォーマットすることができます。 – ngesh
なぜこれを2回転記しましたか? http://stackoverflow.com/questions/7412400/try-to-create-multiple-contacts-programmatically-with-same-firstname – trgraglia
この投稿を編集し、正しい形式のコードを追加して[編集を保存]ボタンをクリックするとそれはページが見つかりませんエラーを送信します。 – Smith