Android/Java

안드로이드 주소록 정보 가져오기

easy-1 2021. 6. 10. 16:47

<개요>

주소록에 저장된 연락처 정보를 앱으로 가져오기


<적용 방법>

1. 주소록 접근권한을 허용

   AndroidManifest.xml 에 주소록 접근 권한 추가 (읽기 권한 필요)

<uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- 주소록 읽기 -->
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <!-- 주소록 쓰기 -->

2. ContactsContract 클래스를 이용하여 주소록에 접근

3. Cursor 를 이용하여 Table의 한 행(Row)을 참조하는것 처럼 데이터를 받아옴

4. 받아온 데이터를 앱에서의 목적에 맞게 사용

Cursor cursor = getApplicationContext().getContentResolver().query(
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);

if (cursor.moveToFirst()) {
    do {
        String mobileNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
        String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        Dlog.d("mobileNumber :: " + mobileNumber);
        Dlog.d("name :: " + name);
    } while (cursor.moveToNext());
}
cursor.close();