9.应用跳转到手机通讯录,获取点击的用户的信心并回显到相应的地方
使用方法:
1.点击跳转 Uri uri = ContactsContract.Contacts.CONTENT_URI; Intent intent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(intent, 0); 2.回显设置 /** * 跳转到联系人列表的回调函数 */ @Override protected 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; }