Android中获取系统通讯录联系人
来源:互联网 发布:opta数据中文 编辑:程序博客网 时间:2024/05/17 08:13
Android中获取系统通讯录联系人并显示在EditText
好多时候,我们都要使用选择联系人的操作,自己写的话 很麻烦,倒不如直接调用系统的通讯录,这样来的直接,来的方便
下面我们来看需求:
需求:
一个EditText 点击button的时候转到系统通讯录,选中其中一个通讯录item返回当前界面且把
选中的联系人号码用户名显示在EditText 上。
直接上代码:
import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity { EditText text; String username,usernumber; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (EditText)findViewById(R.id.number); } public void click(View v){ startActivityForResult(new Intent( Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI), 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { ContentResolver reContentResolverol = getContentResolver(); Uri contactData = data.getData(); @SuppressWarnings("deprecation") Cursor cursor = managedQuery(contactData, null, null, null, null); cursor.moveToFirst(); username = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); Cursor phone = reContentResolverol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); while (phone.moveToNext()) { usernumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); text.setText(usernumber+" ("+username+")"); } } }}
需要添加权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
如果,这篇博客帮您解决了问题,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下【加关注】。
因为,我的热情需要您的肯定和支持!
感谢您的阅读,如果文章中有错误或者您有什么好的建议,也欢迎您直接留言批评指教。Thanks,friends!
0 0
- Android中获取系统通讯录联系人
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- Android 获取通讯录联系人
- Android 获取通讯录联系人
- android调用系统通讯录程序,获取联系人信息
- 【Android】【小记】获取系统通讯录的联系人信息
- android获取手机通讯录联系人
- android 获取通讯录联系人信息
- android获取手机通讯录联系人
- android获取手机通讯录联系人
- Android:获取通讯录联系人信息
- android获取手机通讯录联系人
- android获取手机通讯录联系人
- android获取手机通讯录联系人
- android获取手机通讯录联系人
- Pycharm对openstack进行远程调试
- Java开发工具之Eclipse
- android事件分发机制
- [51nod]1134 最长递增子序列
- 自定义控件-概述
- Android中获取系统通讯录联系人
- poj 1654 Area
- hiho #1082 : 然而沼跃鱼早就看穿了一切
- BZOJ 2761 不重复数字(水题)
- 001——jdk环境配置
- Longest Consecutive Sequence
- iOS提示框之 MBProgressHUD 与 SVProgressHUD
- 自定义控件-继承ViewGrroup
- poj 3494 Largest Submatrix of All 1’s 单调栈/DP迭代法