源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅析Android手机卫士读取联系人

  • 时间:2022-04-22 01:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅析Android手机卫士读取联系人
[b]推荐阅读:[/b] [url=http://www.1sucai.cn/article/82328.htm]浅析Android手机卫士sim卡绑定[/url] [url=http://www.1sucai.cn/article/82214.htm]深入浅析Android手机卫士保存密码时进行md5加密[/url] [url=http://www.1sucai.cn/article/82212.htm]详解Android 手机卫士设置向导页面[/url] [url=http://www.1sucai.cn/article/82139.htm]浅析Android手机卫士关闭自动更新[/url] [url=http://www.1sucai.cn/article/82137.htm]浅析Android手机卫士自定义控件的属性[/url] 获取ContentResolver内容解析器对象,通过getContentResolver()方法 调用ContentResolver对象的query()方法,得到raw_contacts表里面的数据,得到Cursor对象 参数:Uri对象,字段String数组 获取Uri对象,通过Uri.parse(“content://com.android.contacts/raw_contacts”)方法, while循环Cursor对象,条件是Cursor对象moveToNext()方法为真 调用Cursor对象的getString()方法,参数是索引 判断不为null,查询另一张表 调用ContentResolver对象的query()方法,得到data表里面的数据,得到Cursor对象 参数:Uri对象,字段String[]数组(data1,mimetype),条件String,条件值String[]数组(contact_id) Uri对象是Uri.parse(“content://com.android.contacts/data”) 循环和上面一样 姓名对应的类型是vnd.android.cursor.item/name 电话对应的类型是vnd.android.cursor.item/phone_v2 需要权限,android.permisssion.READ_CONTACTS 调用ListView对象的setAdapter()方法,分配数据到视图,参数是Adapter对象 通过new SimpleAdapter()来获得Adapter对象 参数:上下文,数据集合,布局资源,字段String[]数组,控件int[] id数组
package com.qingguow.mobilesafe.utils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
/**
* 读取手机联系人
* @author taoshihan
*
*/
public class PhoneContactsUtil {
public static List<Map<String,String>> getContacts(Context context){
ContentResolver resolver=context.getContentResolver();
Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri=Uri.parse("content://com.android.contacts/data");
List<Map<String,String>> contacts=new ArrayList<Map<String,String>>();
//循环联系人表
Cursor cursor=resolver.query(uri, new String[]{"contact_id"}, null, null, null);
while(cursor.moveToNext()){
String id=cursor.getString(cursor.getColumnIndex("contact_id"));
if(id!=null){
Map<String,String> contact=new HashMap<String,String>();
//查找数据表
Cursor dataCursor=resolver.query(dataUri, new String[]{"data1","mimetype"},"raw_contact_id=?", new String[]{id}, null);
while(dataCursor.moveToNext()){
String data1=dataCursor.getString(dataCursor.getColumnIndex("data1"));
String mimetype=dataCursor.getString(dataCursor.getColumnIndex("mimetype")); 
System.out.println("data1:"+data1+",mimetype:"+mimetype);
if(mimetype.equals("vnd.android.cursor.item/name")){
contact.put("name", data1);
}else if(mimetype.equals("vnd.android.cursor.item/phone_v2")){
contact.put("phone", data1);
}
}
contacts.add(contact);
dataCursor.close();
}
}
cursor.close();
return contacts;
}
}
以上内容是小编给大家介绍的android 手机卫士读取联系人的相关介绍,希望对大家有所帮助!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部