AndroidContentProvider获取手机联系人实例-创新互联
在做项目的时候,因为要用到我们自动获取联系人的姓名和电话,就想到了ContentProvider分享数据的功能,这样做既节省了时间,也减少了我们输入错误号码的几率,所以,想在这里把小demo分享给大家,方便以后要用的时候可以看看
创新互联是一家集网站建设,月湖企业网站建设,月湖品牌网站建设,网站定制,月湖网站建设报价,网络营销,网络优化,月湖网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。我们先看下获取所有联系人的方式,把所有联系人展示在listView上
public void getLinkMan(View view){ //获取联系人 Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); 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")); int number=cursor.getInt(cursor.getColumnIndex("number")); Log.i("test",id+" "+name); //继续获取相对应的联系人的数据(电话号码) Uri uriData=Uri.parse("content://com.android.contacts/raw_contacts/"+id+"/data"); cursorData = cr.query(uriData,null,null,null,null); while(cursorData.moveToNext()){ String data1= cursorData.getString(cursorData.getColumnIndex("data1")); String type= cursorData.getString(cursorData.getColumnIndex("mimetype")); if("vnd.android.cursor.item/phone_v2".equals(type)){ Log.i("test"," "+data1+":"+type); Mapmap=new HashMap<>(); map.put("id",id); map.put("name",name); map.put("number",number); list.add(map); } } } //实例化适配器 simpleAdapter = new SimpleAdapter(this,list, R.layout.item_linkman,new String[]{"_id","name","number"},new int[]{R.id.tv_item_list_id,R.id.tv_item_list_name,R.id.tv_item_list_number}); listView.setAdapter(simpleAdapter); }
当前文章:AndroidContentProvider获取手机联系人实例-创新互联
新闻来源:http://azwzsj.com/article/cejgcs.html