안드로이드 개발 질문/답변
(글 수 45,052)
private static final Uri URI = ContactsContract.Contacts.CONTENT_URI;
private static final Uri PURI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
private static final Uri EURI = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
private static final Uri AURI = ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI;
private static final String ID = ContactsContract.Contacts._ID;
private static final String DNAME = ContactsContract.Contacts.DISPLAY_NAME;
private static final String HPN = ContactsContract.Contacts.HAS_PHONE_NUMBER;
private static final String LOOKY = ContactsContract.Contacts.LOOKUP_KEY;
private static final String CID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
private static final String EID = ContactsContract.CommonDataKinds.Email.CONTACT_ID;
private static final String AID = ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID;
private static final String PNUM = ContactsContract.CommonDataKinds.Phone.NUMBER;
private static final String PHonETYPE = ContactsContract.CommonDataKinds.Phone.TYPE;
private static final String EMAIL = ContactsContract.CommonDataKinds.Email.DATA;
private static final String EMAILTYPE = ContactsContract.CommonDataKinds.Email.TYPE;
private static final String STREET = ContactsContract.CommonDataKinds.StructuredPostal.STREET;
private static final String CITY = ContactsContract.CommonDataKinds.StructuredPostal.CITY;
private static final String STATE = ContactsContract.CommonDataKinds.StructuredPostal.REGION;
private static final String POSTCODE = ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE;
private static final String COUNTRY = ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY;
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
Uri contactUri = data.getData();
switch (reqCode) {
case 0 :
if (resultCode == Activity.RESULT_OK) {
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(contactUri,null, null, null, null);
try {
if (cursor.moveToFirst()) {
log.e(cursor.getString(cursor.getColumnIndex(ID)));
log.e(cursor.getString(cursor.getColumnIndex(DNAME)));
}
} finally {
}
Cursor emailCur = contentResolver.query(EURI, null, EID + " = ?", new String[]{cursor.getString(cursor.getColumnIndex(ID))}, null);
while (emailCur.moveToNext()) {
log.e(emailCur.getString(emailCur.getColumnIndex(EMAIL)));
log.e(emailCur.getString(emailCur.getColumnIndex(EMAILTYPE)));
}
emailCur.close();
Cursor addCur = contentResolver.query(AURI, null, AID + " = ?", new String[]{cursor.getString(cursor.getColumnIndex(ID))}, null);
try{
while (addCur.moveToNext()) {
log.e(addCur.getString(addCur.getColumnIndex(STREET)));
log.e(addCur.getString(addCur.getColumnIndex(CITY)));
log.e(addCur.getString(addCur.getColumnIndex(STATE)));
log.e(addCur.getString(addCur.getColumnIndex(POSTCODE)));
log.e(addCur.getString(addCur.getColumnIndex(COUNTRY)));
}
}catch(Exception e){
e.printStackTrace();
}
finally{
addCur.close();
}
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(HPN))) > 0) {
Cursor pCur = contentResolver.query(PURI, null, CID + " = ?", new String[]{cursor.getString(cursor.getColumnIndex(ID))}, null);
while (pCur.moveToNext()) {
log.e(pCur.getString(pCur.getColumnIndex(PNUM)));
log.e(pCur.getString(pCur.getColumnIndex(PHONETYPE)));
}
pCur.close();
}
cursor.close();
}
break;
}
}
이런식으로 값가져오는걸 구했는데...
이게 정확히 값을 못가져옵니다
전화번호부나 이메일같은경우는 가져오는데
주소나 메모
집전화번호 회사전화번호 팩스 이런등등을 값을못가져와요 ...
값을다가져오려고하는데 이런방법말고도 다른방법이 있나요? ㅠㅠㅠ