在Android中发送短信,

时间:2010-09-01 07:23:25

标签: android

我已经实现了向多个用户发送消息。 现在这就是我想要做的事情

  1. 我的按钮点击我的主要活动按钮点击Android的默认通讯录应该打开
  2. 当我点击电话簿中的特定联系人时,那么 特定的电话号码 选定的联系人应该在 我的主要活动中的编辑框。
  3. 我已经调用了对此按钮的点击事件的意图

    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结果中检索电话号码的问题。

1 个答案:

答案 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: