android 导入到通讯录

    技术2022-07-11  91

    前段时间项目中用到了导入到通讯录这个功能,今天总结一下贴出来,供需要的小伙伴使用,代码直接贴

     

    1、权限

    <uses-permission android:name="android.permission.READ_CONTACTS" />

     2、代码:permission()

    private void permission() { if (ContextCompat.checkSelfPermission((Activity) context, Manifest.permission.WRITE_CONTACTS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.WRITE_CONTACTS}, 0); } else { addContacts("张三石","15836033333");//导入到通讯录 } } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 0: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {// 权限请求成功的操作 addContacts("张三石","15836033333");//导入到通讯录 } else {// 权限请求失败的操作 Toast.makeText(context, "您拒绝了写入通讯录的权限,需要时您可以在设置中自行开启", Toast.LENGTH_SHORT).show(); } break; } } } /** * 导入到通讯录 */ public void addContacts(String name , String tel){ name = name+"@客户管理"; //插入raw_contacts表,并获取_id属性 Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); long contact_id = ContentUris.parseId(resolver.insert(uri, values)); //插入data表 uri = Uri.parse("content://com.android.contacts/data"); //add Name values.put("raw_contact_id", contact_id); values.put(ContactsContract.Data.MIMETYPE,"vnd.android.cursor.item/name"); values.put("data2", name); values.put("data1", name); resolver.insert(uri, values); values.clear(); //add Phone values.put("raw_contact_id", contact_id); values.put(ContactsContract.Data.MIMETYPE,"vnd.android.cursor.item/phone_v2"); values.put("data2", "2"); //手机 values.put("data1", tel); resolver.insert(uri, values); values.clear(); /*//add email values.put("raw_contact_id", contact_id); values.put(ContactsContract.Data.MIMETYPE,"vnd.android.cursor.item/email_v2"); values.put("data2", "2"); //单位 values.put("data1", "xzdong@xzdong.com"); resolver.insert(uri, values);*/ }

     

     

    有什么疑问欢迎小伙伴们来提问,有什么不足欢迎大佬评论,转载请标明出处!

    Processed: 0.011, SQL: 9