this 사이트의 자습서를 따라 Android에서 연락처의 전화 번호를 알아 왔습니다.마지막 연락처의 전화 번호를 가져올 수 없습니다.
내가 직면 한 문제는 마지막 연락처 번호를 얻지 못하는 것입니다. 예를 들어 연락처가 3 개인 경우 2의 번호가 표시됩니다.
누군가가 도움이된다면 내 코드를 게시하는 것이 좋습니다.
if(cur.getCount()>0){
while(cur.moveToNext()){
String id=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if(Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)))>0){
pCur=getContentResolver().
query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone._ID+"=?",
new String[]{id}, null);
while(pCur.moveToNext()){
number.add(pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
}
}
pCur.close();
}
}
어떤 도움을 주시면 감사하겠습니다. 감사합니다.
============================
편집 : 아래에 관심이있는 사람들을 위해는 작동 코드입니다 나 :
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("Details", "Name: "+name+" Number: "+phoneNumber);
}
phones.close();
감사를 얻기 위해 다음 코드를 사용해보십시오. 이 doesnt는 나를 위해 일하는 것처럼 보인다. do-while 루프를 다르게 사용하려고 시도했지만 불행히도 내 응용 프로그램 강제 종료합니다. 이것 역시 마찬가지입니다. – Anirudh
위의 코드를 가진 전화를 가지고있는 모든 연락처를 가져올 수 있어야합니다. –
이 코드를 사용할 때 다시 앱이 종료됩니다. Ive는 다른 곳에서 적합한 솔루션을 찾았습니다. 어쨌든 도와 주셔서 감사합니다. – Anirudh