在Android清单中:
然后在活动中:
editText.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v,boolean hasFocus) {
if(hasFocus){
editText.setText("");
Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent,PICK_CONTACT);
}
}
});
然后你必须抓住动作选择联系人的结果:
@Override
public void onActivityResult(int reqCode,int resultCode,Intent data){
super.onActivityResult(reqCode,resultCode,data);
switch(reqCode)
{
case (PICK_CONTACT):
if (resultCode == Activity.RESULT_OK)
{
Uri contactData = data.getData();
Cursor c = managedQuery(contactData,null);
if (c.moveToFirst())
{
String id = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
{
Cursor phones = getContentResolver().query(monDataKinds.Phone.CONTENT_URI,monDataKinds.Phone.CONTACT_ID +" = "+ id,null);
phones.moveToFirst();
String cNumber = phones.getString(phones.getColumnIndex(monDataKinds.Phone.NUMBER));
Toast.makeText(getApplicationContext(),cNumber,Toast.LENGTH_SHORT).show();
String nameContact = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
editText.setText(nameContact+ " "+ cNumber);
}
}
}
}
}