通过应用程序获取Android 8.0中的用户联系人列表

时间:2018-01-23 04:49:25

标签: android

下面是我获取用户的联系人列表并将其存储在我的数据库中的方法,它在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();
        }
    }

0 个答案:

没有答案