Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("vnd.android.cursor.item/phone");
startActivityForResult(intent, 2);
//在onActivityResult里面:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (resultCode==RESULT_OK) {
switch (requestCode) {
case 2:
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
c.moveToFirst();
//String id= c.getString(c.getColumnIndex(Contacts._ID)); //在这取到的id 和原先的id不一样,不知道是怎么回事所也下面就用name 来获得电话号码
String name = c.getString(c.getColumnIndex(Contacts.DISPLAY_NAME)); //取得通讯录中选中的名称
String phoneNum=getPhoneNum(name); // 取得所选的电话号码
System.out.println("name "+name +" number "+phoneNum);
break;
}
}
super.onActivityResult(requestCode, resultCode, data);
}
private String getPhoneNum(String name) {
Cursor phones= managedQuery(Phone.CONTENT_URI, null, Phone.DISPLAY_NAME+" = '"+name+"'", null, null);
phones.moveToFirst();
String phoneNum = phones.getString(phones.getColumnIndex(Phone.NUMBER));
return phoneNum;
}