下面是我获取用户的联系人列表并将其存储在我的数据库中的方法,它在KitKat中工作,但在Android 8.0中,在获得用户阅读联系人的权限后,我也无法阅读联系人列表,请指导我进行所需的任何更改。
private void getDetails(){
try {
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
String[] projection = new String[] {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER };
Cursor names = getContentResolver().query(uri, projection, null, null, null);
int indexName = names.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int indexNumber = names.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
names.moveToFirst();
do {
String name = names.getString(indexName);
String number = names.getString(indexNumber);
JSONObject cust= new JSONObject();
cust.put("name",name);
cust.put("mobile",number);
obj.put(cust);
} while (names.moveToNext());
}
catch (Exception e){
e.printStackTrace();
}
}