在获取通讯录联系人信息时,魅族 MX4 pro手机显示Android版本是5.1.1,按道理是不需要动态申请权限,可做的过程中发现,获取不到联系人信息,后边添加上动态申请权限同样无用,但是使用
以上代码又可以获取到联系人信息,经过测试发现
这句代码可以动态申请权限,不知道自己理解是否有误,但问题已解决。有知道原因的朋友,指点一下,谢谢。
String[] cols = {ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
cols, null, null, null);
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToPosition(i);
// 取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
int numberFieldColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String name = cursor.getString(nameFieldColumnIndex);
String number = cursor.getString(numberFieldColumnIndex);
Toast.makeText(this, name + " " + number, Toast.LENGTH_SHORT).show();
}
以上代码又可以获取到联系人信息,经过测试发现
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
cols, null, null, null);
这句代码可以动态申请权限,不知道自己理解是否有误,但问题已解决。有知道原因的朋友,指点一下,谢谢。