-1
한 그룹 (예 : 가족)의 모든 세부 정보를 얻으려고합니다.특정 그룹 안의 연락처 세부 정보를 모두 얻으려면 어떻게해야합니까?
코드 :
Cursor c = managedQuery(Data.CONTENT_URI, new String[] {
Contacts.DISPLAY_NAME, Contacts._ID,GroupMembership.CONTACT_ID },
GroupMembership.GROUP_ROW_ID + " = ?",
new String[] { groupID }, Phone.TIMES_CONTACTED + " DESC");
취득 이름과 사진 :
이while (c.moveToNext()&&temp_id<30)
{
String id = c.getString(personIdx);
//c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.e("myTag", id);
// get name
try{
personNameText = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}catch (Exception e) {
e.printStackTrace();
}
// get photo
try{
bmp = loadContactPhoto(getContentResolver(),Long.parseLong(id));
bmp = bmp.createScaledBitmap(bmp, getResources().getDrawable(R.drawable.contact).getIntrinsicWidth(),
getResources().getDrawable(R.drawable.contact).getIntrinsicHeight(), false);
}catch (Exception e) {
// TODO: handle exception
}
// get number and email
try
{
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
hasPhone = "true";
else
hasPhone = "false" ;
if (Boolean.parseBoolean(hasPhone))
{
getNumbers(id);
}
}catch (Exception e) {
e.printStackTrace();
}
// get email
String email = "";
try{
Cursor emailCur = getContentResolver().query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",
new String[]{id}, null);
while (emailCur.moveToNext()) {
email = emailCur.getString(
emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
}
emailCur.close();
}catch (Exception e) {
e.printStackTrace();
}
삽입 데이터베이스
temp_id++;
insertData(temp_id, bitmaptoByteArray(bmp), phoneNamberText, personNameText,
email);
여기에 언급 된 모든 기능을 아주 잘 작동
에! 문제는 사람들의 이름 만 얻고 다른 세부 사항은 얻지 못한다는 것입니다. 문제는 내가 잘못 본 것 같아요. 도움을 주시면 감사하겠습니다.
this 읽기 – user1458530