안드로이드 개발 질문/답변
(글 수 45,052)
주소록에서 이름과 전화번호를 갖고 오려고 합니다.
이름은 얻어지는데
전화번호는 얻어지지가 않습니다ㅠ
갖고 오는 포멧이 틀린건가요?
조언좀 부탁드리겠습니다.
========================================================================
1. 주소록 호출
intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, REQ_CONTACT_SELECT);
========================================================================
2. 선택된 주소록의 데이터 갖고와서 출력
Uri dataUri = data.getData();
if(requestCode == REQ_CONTACT_SELECT && resultCode == RESULT_OK ){
//주소록 데이터를 갖어오는 부분
String id = "";
String displayName = "";
Cursor cursor = managedQuery(dataUri, null, null, null, null);
while (cursor.moveToNext()) {
id = cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Data.Phones.CONTENT_URI));
displayName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
}
Util.toast(this, id + "\n " + displayName);
}
이름은 얻어지는데
전화번호는 얻어지지가 않습니다ㅠ
갖고 오는 포멧이 틀린건가요?
조언좀 부탁드리겠습니다.
========================================================================
1. 주소록 호출
intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, REQ_CONTACT_SELECT);
========================================================================
2. 선택된 주소록의 데이터 갖고와서 출력
Uri dataUri = data.getData();
if(requestCode == REQ_CONTACT_SELECT && resultCode == RESULT_OK ){
//주소록 데이터를 갖어오는 부분
String id = "";
String displayName = "";
Cursor cursor = managedQuery(dataUri, null, null, null, null);
while (cursor.moveToNext()) {
id = cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Data.Phones.CONTENT_URI));
displayName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
}
Util.toast(this, id + "\n " + displayName);
}