2016-09-09 9 views

答えて

0

EDITTEXT

Intent intent = new Intent(Intent.ACTION_PICK); 
intent.setType(ContactsContract.Contacts.CONTENT_TYPE); 
if (intent.resolveActivity(getActivity().getPackageManager()) != null) { 
    startActivityForResult(intent, PICK_CONTACT); 
} 

のクリックまたはタッチイベントで使用このコードを、その後、onClickイベントのコードを入れて

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == PICK_CONTACT) { 
     if (resultCode == getActivity().RESULT_OK) { 
      contactPicked(data); 
     } 
    } 
} 

private void contactPicked(Intent data) { 
    ContentResolver cr = activity.getContentResolver(); 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
    cur.moveToFirst(); 
    try { 
     // getData() method will have the Content Uri of the selected contact 
     Uri uri = data.getData(); 
     //Query the content uri 
     cur = activity.getContentResolver().query(uri, null, null, null, null); 
     cur.moveToFirst(); 
     // column index of the contact ID 
     String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); 
     // column index of the contact name 
     String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
     // column index of the phone number 
     Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", 
       new String[]{id}, null); 
     while (pCur.moveToNext()) { 
      String phone = pCur.getString(
        pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)).replaceAll(" ", ""); 

      //Here you can set phone number 
      etMobile.setText(phone); 

      //Toast.show(phone); 
     } 
     pCur.close(); 
     // column index of the email 
     Cursor emailCur = cr.query(
       ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
       new String[]{id}, null); 
     while (emailCur.moveToNext()) { 
      // This would allow you get several email addresses 
      // if the email addresses were stored in an array 
      String email = emailCur.getString(
        emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS)); 
     } 
     emailCur.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

を追加しますか? PreferenceScreen使用目的では? –

+0

をクリックするか、またはあなたが設定画面で持っている編集テキストのタッチまたはドロー可能なクリックイベント。 – Sandeep

+0

ありがとうございます。再び私は連絡先リストから連絡先の価値を取得し、それを保存したいです。しかし、連絡先にアクセスしている間、アプリはクラッシュしています。 –

関連する問題