ContentResolver实现获取手机联系人并显示在ListView中
来源:互联网 发布:四川保险行业协会数据 编辑:程序博客网 时间:2024/05/15 04:44
1.首先知道联系人的uri:
联系人
<1>content://com.android.contacts/raw_contacts(获得联系人的id,姓名)
<2>content://com.android.contacts/raw_contacts/"+id+"/data(根据联系人的id获得联系人的信息)
2.实现步骤
1.先获取内容访问者,用uri地址获取手机联系人里的姓名和电话号码id;2.然后在用游标接收;3.然后用while遍历出来;4.定义一个list集合保存数据;5.设置一个适配器;6.给LIstView添加适配器
3.实现代码
public class MainActivity extends AppCompatActivity { private ContentResolver cr; private ListView listview; private SimpleAdapter person; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview = (ListView) findViewById(R.id.listview); cr = getContentResolver();//获取内容访问者 //定义一个集合保存手机联系人数据 List<Map<String,Object>> personDate=new ArrayList<>(); //配置适配器 person= new SimpleAdapter(this, personDate, android.R.layout.simple_list_item_2, new String[]{"names", "phones"}, new int[]{android.R.id.text1, android.R.id.text2}); //给ListView添加适配器 listview.setAdapter(person); } //获取手机联系人 public void ok(View view){ //(获得联系人的id,姓名) Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); //用游标接收 Cursor cursor=cr.query(uri,null,null,null,null); while (cursor.moveToNext()){ int id=cursor.getInt(cursor.getColumnIndex("_id")); String name=cursor.getString(cursor.getColumnIndex("display_name"));//得到联系人名字 Log.i("test",id+" "+name); //根据联系人的id获得联系人的信息 Uri uri1=Uri.parse("content://com.android.contacts/raw_contacts/"+id+"/data"); Cursor cursor1=cr.query(uri1,null,null,null,null); cursor1.getColumnNames(); while (cursor1.moveToNext()){ String date1=cursor1.getString(cursor1.getColumnIndex("date1")); String type=cursor1.getString(cursor1.getColumnIndex("mimetype")); Log.i("test"," "+date1+" : "+type); //测试 } } }}
4.AndroidManifest.xml里面的权限 联系人的权限
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
0 0
- ContentResolver实现获取手机联系人并显示在ListView中
- ContentResolver获取手机联系人
- Android ContentResolver 获取手机联系人
- Android ContentResolver 获取手机联系人
- Android ContentResolver 获取手机联系人
- 利用Content provide获取电话联系人并显示在listview
- Android中实现显示手机联系人并调用
- 实现读取手机中所有联系人的主要信息(名称和联系电话),并以ListView显示
- 通过ContentResolver获取手机中的联系人信息
- Android ContentResolver ContactsContract 获取手机联系人信息
- SimpleCursorAdapter-获取电话簿中联系人并显示在类表中
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- Android中获取系统通讯录联系人并显示在EditText
- 获得联系人显示于ListView中,并实现单击联系人拨号
- ContentResolver查询手机联系人
- 利用ContentResolver内容访问者获取手机联系人信息
- javaScript访问对象属性应该用点号还是中括号?
- 文件上传和下载
- opensmd服务注意事项
- go http分析
- 命令安装jenkins(也叫启动jenkins)
- ContentResolver实现获取手机联系人并显示在ListView中
- 比特率,帧率,分辨率对视频画质的影响
- Shiro简介
- ConStraintLayout 动画|动态Constraints|用Java控制UI[第三部分]
- 最少步数
- Android学习笔记(二十一):调试蓝牙4.0遇到的问题
- PHP优化#单节点的优化
- 旋转卡壳凸包间最小距离
- 文章标题