Android 는 주소록 으로 이동 하여 사용자 이름과 핸드폰 번 호 를 얻 는 실현 방향 을 찾 습 니 다.

효과 도 는 다음 과 같다.

먼저 안 드 로 이 드 가 주소록 으로 넘 어 가 는 실현 방향 을 말씀 드 리 겠 습 니 다.
1.클릭 하여 주소록 창 으로 이동
2.주소록 이름과 핸드폰 번호 받 기
3.이름과 핸드폰 번 호 를 되 돌려 표시
1.우선 주소록 화면 으로 넘 어가 기

Uri uri = Uri.parse("content://contacts/people");
Intent intent = new Intent(Intent.ACTION_PICK, uri);
startActivityForResult(intent, 0);
주소록 url 점프 설정 을 통 해 우리 가 반전 함수 로 실현 하 는 것 을 볼 수 있 습 니 다.
2.리 턴 함수

/*
 *             
 * */
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  switch (requestCode){
   case 0:
    if(data==null)
    {
     return;
    }
    //     data,          
    Uri uri=data.getData();
    String[] contacts=getPhoneContacts(uri);
    et_name.setText(contacts[0]);
    et_tele.setText(contacts[1]);
    break;
  }
  super.onActivityResult(requestCode, resultCode, data);
 }
그 중에서 getPhone Contacts(uri)방법 은 핸드폰 의 연락처 와 핸드폰 번호 가 같은 데이터베이스 에 있 지 않 기 때문에 우 리 는 각각 처리 해 야 한다.

private String[] getPhoneContacts(Uri uri){
  String[] contact=new String[2];
  //  ContentResolver  
  ContentResolver cr = getContentResolver();
  //             
  Cursor cursor=cr.query(uri,null,null,null,null);
  if(cursor!=null)
  {
   cursor.moveToFirst();
   //       
   int nameFieldColumnIndex=cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
   contact[0]=cursor.getString(nameFieldColumnIndex);
   //      
   String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
   Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
     ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
   if(phone != null){
    phone.moveToFirst();
    contact[1] = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
   }
   phone.close();
   cursor.close();
  }
  else
  {
   return null;
  }
  return contact;
 }
3.권한 추가

<!--       -->
<uses-permission Android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 가 주소록 으로 넘 어가 사용자 이름과 핸드폰 번 호 를 얻 는 실현 방향 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기