android——获取手机联系人的工具类
16lz
2021-01-24
这个工具类只获取了手机联系人的姓名和电话号码,
1、首先将这个姓名、电话号码封装成domain:
package com.wang.domain;public class ContactInfo {private String name;private String phono;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhono() {return phono;}public void setPhono(String phono) {this.phono = phono;}}
2、工具类:
package com.wang.engine;import java.util.ArrayList;import java.util.List;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.net.Uri;import com.wang.mobilesafe.domain.ContactInfo;/** * 提供手机联系人信息的类 * * @author HeJW * */public class ContactInfoProvider {/** * 获取手机系统里面所有联系人信息 * * @return 所有联系人信息的集合 */public static List getContactInfos(Context context) {List infos = new ArrayList();ContentResolver resolver = context.getContentResolver();Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");Uri dataUri = Uri.parse("content://com.android.contacts/data");Cursor cursor = resolver.query(uri, new String[] { "contact_id" },null, null, null);while (cursor.moveToNext()) {String id = cursor.getString(0);if (id != null) {ContactInfo info = new ContactInfo();Cursor dataCursor = resolver.query(dataUri, new String[] {"mimetype", "data1" }, "raw_contact_id=?",new String[] { id }, null);while (dataCursor.moveToNext()) {String mime = dataCursor.getString(0);String data1 = dataCursor.getString(1);if ( "vnd.android.cursor.item/name".equals(mime) ) {info.setName(data1);} else if ( "vnd.android.cursor.item/phone_v2".equals(mime) ) {info.setPhono(data1);}}infos.add(info);dataCursor.close();}}cursor.close();return infos;}}
更多相关文章
- Android(安卓)判断网络是否可用、网络类型WIFI/2G/3G/4G及获取IP
- Android系统信息获取 之二:版本信息获取
- Android(安卓)Crash:Bad notification for startForeground
- java.lang.IllegalStateException Fragment already added: Home
- Android(安卓)选取图片、手机拍照以及保存图片到本地、读取图片
- 网站地址整理
- android 视频缩略图之 MediaStore
- 实例教程十一:访问通信录中的联系人和添加联系人
- 通过sdk工具 aapt.exe 获取apk的信息