通过Intent来读取联系人信息
一.按钮通过点击获取联系人信息
public void onCreate(Bundle bundle){
....
button.setOnclickListener(new View.onClickListener(){
@Overrde
public void onClick(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("vnd.android.cursor.item/phone");
startActivityFroResult(intent,0);
}
});
}
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
switch(requestCode){
case 0 :
if(resultCode == 0){
Uri contactData = data.getData();
CursorLoader cursorLoader = new CursorLoader(this,contactData,null,null,null,null);
Cursor cursor = cursorLoader.getInBackground();
if(cursor.moveToFirst()){
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
String phomeNum = "还没有电话号码";
Cursor hh = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone._ID + "=" + contactId, null, null);
if (hh != null && hh.moveToFirst()) {
phomeNum = hh.getString(hh.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
}
}
}
}