Java 向Android添加多个联系人
也许答案很琐碎,但我想不出来。我正在尝试使用下面的代码添加联系人,但联系人列表中只存在“联系人0”。你知道这个代码有什么问题吗Java 向Android添加多个联系人,java,android,android-studio,Java,Android,Android Studio,也许答案很琐碎,但我想不出来。我正在尝试使用下面的代码添加联系人,但联系人列表中只存在“联系人0”。你知道这个代码有什么问题吗 public void myMethod(){ for (int i = 0; i < 5; i++) { ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); ops.add(Co
public void myMethod(){
for (int i = 0; i < 5; i++) {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation
.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
null)
.withValue(ContactsContract.RawContacts.AGGREGATION_MODE,
ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());
// ------------------------------------------------------ Name
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, i)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
"contact_"+i).build());
// ------------------------------------------------------ Work
// Number
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, i)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.Phone.NUMBER,
"01 62384")
.withValue(
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
.build());
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void myMethod(){
对于(int i=0;i<5;i++){
ArrayList ops=新的ArrayList();
添加操作(ContentProviderOperation
.newInsert(contacts contract.RawContacts.CONTENT\u URI)
.带值(contacts contract.raw contacts.ACCOUNT_TYPE,
空)
.withValue(contacts contract.raw contacts.ACCOUNT\u NAME,
空)
.带值(contacts contract.raw contacts.AGGREGATION_模式,
ContactsContract.RawContacts.AGGREGATION\u MODE\u DISABLED).build();
//-------------------------------------姓名
添加操作(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.withValueBackReference(
Contacts contract.Data.RAW_CONTACT_ID,i)
.有价值(
Contacts contract.Data.MIMETYPE,
ContactsContract.CommonDataTypes.StructuredName.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.StructuredName.DISPLAY\u NAME,
“contact_”+i.build());
//第三十四天——工作
//数
添加操作(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.withValueBackReference(
Contacts contract.Data.RAW_CONTACT_ID,i)
.有价值(
Contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.Phone.NUMBER,
"01 62384")
.有价值(
Contacts contract.CommonDataTypes.Phone.TYPE,
Contacts contract.CommonDataTypes.Phone.TYPE\u WORK)
.build());
试一试{
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}捕获(例外e){
e、 printStackTrace();
}
}
}
有什么想法吗,伙计们
提前感谢您的帮助public void myMethod(){
public void myMethod(){
for (int i = 0; i < 5; i++) {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation
.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
null)
.withValue(ContactsContract.RawContacts.AGGREGATION_MODE,
ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());
// ------------------------------------------------------ Name
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
"contact_"+i).build());
// ------------------------------------------------------ Work
// Number
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.Phone.NUMBER,
"01 62384")
.withValue(
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
.build());
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
}
}
对于(int i=0;i<5;i++){
ArrayList ops=新的ArrayList();
添加操作(ContentProviderOperation
.newInsert(contacts contract.RawContacts.CONTENT\u URI)
.带值(contacts contract.raw contacts.ACCOUNT_TYPE,
空)
.withValue(contacts contract.raw contacts.ACCOUNT\u NAME,
空)
.带值(contacts contract.raw contacts.AGGREGATION_模式,
ContactsContract.RawContacts.AGGREGATION\u MODE\u DISABLED).build();
//-------------------------------------姓名
添加操作(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.withValueBackReference(
Contacts contract.Data.RAW_CONTACT_ID,0)
.有价值(
Contacts contract.Data.MIMETYPE,
ContactsContract.CommonDataTypes.StructuredName.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.StructuredName.DISPLAY\u NAME,
“contact_”+i.build());
//第三十四天——工作
//数
添加操作(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.withValueBackReference(
Contacts contract.Data.RAW_CONTACT_ID,0)
.有价值(
Contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.Phone.NUMBER,
"01 62384")
.有价值(
Contacts contract.CommonDataTypes.Phone.TYPE,
Contacts contract.CommonDataTypes.Phone.TYPE\u WORK)
.build());
试一试{
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}捕获(例外e){
e、 printStackTrace();
}
}
}
请在每次插入操作中使用原始联系人ID 0。这对我有用