我已经实现了向多个用户发送消息。 现在这就是我想要做的事情
我已经调用了对此按钮的点击事件的意图
addcontact.setOnClickListener(new View.OnClickListener() {
public void onClick(View V) {
Intent ContactPickerIntent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(ContactPickerIntent, CONTACT_PICKER_RESULT);
}
});
现在我陷入了如何从OnActivity结果中检索电话号码的问题。
答案 0 :(得分:0)
虽然我没有测试过,但这应该可行:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Cursor cursor = null;
String number = "";
Uri result = data.getData();
// get the contact id from the Uri
String id = result.getLastPathSegment();
Cursor phones = getContentResolver().query(Phone.CONTENT_URI, null,
Phone.CONTACT_ID + " = " + id, null, null);
while (phones.moveToNext()) {
String number = phones.getString(phones.getColumnIndex(Phone.NUMBER));
int type = phones.getInt(phones.getColumnIndex(Phone.TYPE));
switch (type) {
case Phone.TYPE_HOME:
// do something with the Home number here...
break;
case Phone.TYPE_MOBILE:
// do something with the Mobile number here...
break;
case Phone.TYPE_WORK:
// do something with the Work number here...
break;
}
}
phones.close();
}
您需要使用onAcitivtyResult和ContentResolver来获取数字。 您可能还想通过以下方式检查返回的结果是否来自您的ContactPickerIntent而不是其他活动:
switch (requestCode)
case CONTACT_PICKER_RESULT: