android 中activity的回调

来源:互联网 发布:淘宝经典文案 编辑:程序博客网 时间:2024/06/05 21:13

9.应用跳转到手机通讯录,获取点击的用户的信心并回显到相应的地方

  • 使用方法:

    1.点击跳转Uri uri = ContactsContract.Contacts.CONTENT_URI;    Intent intent = new Intent(Intent.ACTION_PICK, uri);    startActivityForResult(intent, 0);2.回显设置/** * 跳转到联系人列表的回调函数 */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    switch (requestCode) {    case 0:        if (data == null) {            return;        }        // 处理返回的data,获取选择的联系人信息        Uri uri = data.getData();        String[] contacts = getPhoneContacts(uri);        et_mf.setText(contacts[0] + "...."+contacts[1]);        break;    default:        break;    }    super.onActivityResult(requestCode, resultCode, data);}3.读取数据private String[] getPhoneContacts(Uri uri) {String[] contact = new String[2];// 得到ContentResolve对象ContentResolver cr = getContentResolver();// 得到电话本中开始一项的光标Cursor cursor = cr.query(uri, null, null, null, null);if (cursor != null) {    cursor.moveToFirst();    // 取得联系人姓名列    int nameFieldColumnIndex = cursor            .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);    contact[0] = cursor.getString(nameFieldColumnIndex);    // 取得电话号码cursor    String ContactId = cursor.getString(cursor            .getColumnIndex(ContactsContract.Contacts._ID));    Cursor phone = cr.query(                ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,                ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="                        + ContactId, null, null);    if (phone != null) {        phone.moveToFirst();        contact[1] = phone                .getString(phone                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));    }    phone.close();    cursor.close();}else{    return null;}return contact;}
0 0
原创粉丝点击