0
질문이 하나 있습니다. 신청서에 전화 번호부를 열고 선택한 사람의 이름과 전화 번호를 찾으십시오. 나는 전화 번호부를 열고이 코드 조각에서
전화 번호부 안의 멀티 코스
public void showContactsChooser(){
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1001);
}
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data){
super.onActivityResult(reqCode, resultCode, data);
switch(reqCode){
case (1001):
if (resultCode == Activity.RESULT_OK){
ContentResolver cr = getContentResolver();
Uri contactData = data.getData();
Cursor c = cr.query(contactData, null, null, null, null);
String phone = "";
if (c.moveToFirst()){
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
"DISPLAY_NAME = '" + name + "'", null, null);
if (cursor.moveToFirst()) {
String contactId =
cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//
// Get all phone numbers.
//
Cursor phones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
phone = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
int type = phones.getInt(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
switch (type) {
case ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE:
break;
}
}
phones.close();
Toast.makeText(getApplicationContext(), name + " " + phone, Toast.LENGTH_SHORT).show();
Log.d("PICK", "Contact " + name + " " + phone);
}
}
}
}
}
를하고 연락처 이름을 클릭하고 전화 번호를 얻을 때, 다시 이전 Activiti로 이동 여기에 내가 코드입니다. 하지만 한 사람 만 선택할 수 있습니다. 그리고 몇 가지를 선택해야합니다. 내 질문 :
전화 번호부에서 몇 명을 선택한 다음 응용 프로그램에 전달할 수 있습니까? 어떻게해야합니까?
예, 앱이 연락처를 가져 와서 목록에 추가합니다. 그러나 연락처에 둘 이상의 번호가있는 경우 중복되어 있으며 연락처 아래에있는 응용 프로그램 서버에 친구가 있기 때문에 많은 연락처가 나에게 좋지 않은 경우 – metalink