2014-01-22 5 views
-5

전화 번호부 연락처 목록에서 선택한 연락처로 Name,Phone Number and Email Address을받는 프로젝트를 생성해야했습니다.
  단계 :
    응용 프로그램에서 버튼을 클릭하면 열거 나 기본 전화 연락처로 이동합니다. 그 후에 전화 번호부를 선택하면 내 응용 프로그램으로 돌아가고 이름, 전자 메일 및 전화 번호를 입력 할 수있는 3 개의 텍스트보기가 있습니다. 어떻게이 일을 성취 할 수 있습니까? public class SomePickContactName extends Activity전화 번호부에서 이름, 전화 번호 및 이메일 주소 받기

다음이 코드를 삽입 : 기본적으로 class처럼 만들 eclipse를 사용 : 사전

+0

무언가를 시도하고 코드를 보여주십시오. 다른 사람들이 당신을 위해 당신의 직업을 기대하지 마십시오. – geedubb

답변

2

에서
고맙습니다 나는 Android 2.2 Froyo 릴리스에 대한 이런 식으로 않습니다. 제 코드에 언급 된 개인 클래스 변수와 상수를 추가하십시오.

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState);  
    Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
    startActivityForResult(intentContact, PICK_CONTACT); 
}//onCreate 

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 

    if (requestCode == PICK_CONTACT) 
    {   
    getContactInfo(intent);   
    // Your class variables now have the data, so do something with it. 
    } 
}//onActivityResult 

protected void getContactInfo(Intent intent) 
{ 

    Cursor cursor = managedQuery(intent.getData(), null, null, null, null);  
    while (cursor.moveToNext()) 
    {   
     String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
     name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 

     String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 

     if (hasPhone.equalsIgnoreCase("1")) 
      hasPhone = "true"; 
     else 
      hasPhone = "false" ; 

     if (Boolean.parseBoolean(hasPhone)) 
     { 
     Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null); 
     while (phones.moveToNext()) 
     { 
      phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
     } 
     phones.close(); 
     } 

     // Find Email Addresses 
     Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,null, null); 
     while (emails.moveToNext()) 
     { 
     emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
     } 
     emails.close(); 

    Cursor address = getContentResolver().query(
       ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId, 
       null, null); 
    while (address.moveToNext()) 
    { 
     // These are all private class variables, don't forget to create them. 
     poBox  = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX)); 
     street  = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET)); 
     city  = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY)); 
     state  = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION)); 
     postalCode = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE)); 
     country = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY)); 
     type  = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE)); 
    } //address.moveToNext() 
    } //while (cursor.moveToNext())   
    cursor.close(); 
}//getContactInfo 
+0

그것은 당신의 도움에 감사드립니다. –

+0

wl come bro .... .... –

관련 문제