0
나는 대화 상대의 전화 번호를 프로그래밍 방식으로 얻으 려는데, 내 연락처 활동을 표시하지 않고 이름 만 묻는 것입니다.의도를 열지 않고 연락처에서 전화 번호를 검색 할 수 있습니까?
가능합니까? 그리고 어떻게?
나는 다음을 시도하지만 난 내 권한을 설정 한 경우에도 권한 오류가 매니페스트ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
ArrayList<String> contact_names = new ArrayList<String>();
if (cur.getCount() > 0)
{
while (cur.moveToNext())
{
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = "GIAGIA";
if (cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER.trim())).equalsIgnoreCase("1"))
{
if (name!=null){
//contact_names[i]=name;
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{id}, null);
while (pCur.moveToNext())
{
String PhoneNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(getBaseContext(),PhoneNumber ,Toast.LENGTH_LONG).show();
//i++;
break;
}
pCur.close();
pCur.deactivate();
// i++;
}else
{
Toast.makeText(getBaseContext(),"Does not exist",Toast.LENGTH_LONG).show();
}
}
}
cur.close();
cur.deactivate();
}
String[] contactList = new String[contact_names.size()];
for(int j = 0; j < contact_names.size(); j++){
contactList[j] = contact_names.get(j);
}
return contactList;
}
에만 name'를 묻는 또한, 받고있어 오류를'게시하시기 바랍니다 - 사용자에게 연락처 이름을 묻는 것입니까? 같은 이름으로 연락처가 두 개 있다면 어떻게 될까요? – marmor