从联系人导入电话或姓名

1.打开联系人页面
Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
getActivity().startActivityForResult(intent, 10010);

2,获取选择的联系人
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CONTACT_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
final Intent intentData = data;
String[] result = ContactUtil.getSelectedPeople(getActivity(), intentData);//result[0]是姓名,result[1]是电话号码
}
}


//处理数据
public String[] getSelectedPeople(Context context, Intent data) throws Exception {
    String[] people = new String[2];
Cursor cursor = null;
try {
Uri contactData = data.getData();
final String[] projection = new String[]{
ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
cursor = context.getContentResolver().query(contactData,
projection, null, null, null);
if (null != cursor && cursor.moveToFirst()) {
int phoneNum = cursor.getInt(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER));
if (phoneNum > 0) {
people[0] = cursor.getString(cursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME))
.trim();
people[1] = cursor.getString(cursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER))
.trim();
}
}
} catch (Exception e) {
} finally {
if (null != cursor) {
cursor.close();
}
}
return people;
}

posted on 2016-12-12 16:23  取悦  阅读(332)  评论(0编辑  收藏  举报

导航