使用contentprovide查询手机联系人信息,然后删除,前面我们介绍了contentprovide的使用,这里我们直接通过一个简单的demo来验证下
首先要加入读取联系人的权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
删除的话还要添加写入权限
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
content://com.android.contacts/contacts操作的数据是联系人信息Uri
content://com.android.contacts/data/phones联系人电话Uri
content://com.android.contacts/data/emails联系人EmailUri
加入权限后,我们在MainActivity里的onCreate()方法里:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = MainActivity.this;
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.e("contactId", "contactId=" + contactId);
Log.e("name", "name=" + name);
Uri deleteUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(contactId));
int id = getContentResolver().delete(deleteUri, null, null);
Log.e("id", "id=" + id);
}
cursor.close();
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
null, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.e("RongActivity", "phoneNumber="+phoneNumber);
}
phones.close();
}
然后直接运行就可以了哦