0
我嘗試添加使用此代碼新聯繫人:添加新聯繫人(安卓)
try{
ArrayList<ContentProviderOperation> ops = new ArrayList<android.content.ContentProviderOperation>();
if(!name.equals("")) {
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, name)
.build());
}
if(!number.equals("")){
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, number)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE,ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
.build());
}
if(!email.equals("")){
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, email)
.withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.build());
}
context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
}
} catch (Exception e) {
Toast.makeText(context,e.toString(),Toast.LENGTH_SHORT).show();
}
我還指定在清單中的WRITE_CONTACTS
許可,我要求它在運行時。
然而,儘管它不返回任何錯誤,不添加聯繫人...
我在做什麼不好?
如果您的Android版本比棒棒糖你需要包括運行時的權限更大。或者您可以授予這樣的權限**設置>應用程序>選擇您的應用程序>查看權限>切換權限*** –
權限也授予在運行時... –