获取联系人号码时,如果一个联系人有多个号码怎么办?下面代码可以帮你解决。
private void getPhoneNumber(){
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, REQUEST_CALL);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) return;
if (requestCode == REQUEST_CALL) {
Uri callUri = data.getData();
String[] queryFields = new String[] {
ContactsContract.CommonDataKinds.Phone.NUMBER
};
String[] queryFields2 = new String[] {
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
};
Cursor c = getActivity().getContentResolver().query(callUri, queryFields2, null, null, null);
if (c.getCount() == 0) {
c.close();
return;
}
c.moveToFirst();
String callNum = c.getString(0);
Log.i("xyz","name" + callNum);
Uri number = Uri.parse("tel:" + callNum);
Intent intent = new Intent(Intent.ACTION_DIAL,number);
startActivity(intent);
}
}