android 연락처 읽기 질문

통신록 연락처 정보를 얻을 때 메이족 MX4 프로 핸드폰에 안드로이드 버전이 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);

이 코드는 동적 신청 권한이 있어 자신이 잘못 이해했는지 모르겠지만 문제는 이미 해결되었다.이유를 아는 친구가 있으면 가르쳐 주세요. 감사합니다.

좋은 웹페이지 즐겨찾기