while (cursor.moveToNext()) { 4 String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts _ID)); 5 String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME , null, 16 ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId , null, 27 ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, , null, 34 ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " +
; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.CommonDataKinds.StructuredName ; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContacts.Data )); // 得到电话号码 String contactId = cur.getString(cur .getColumnIndex(ContactsContract.Contacts , null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null , values); // 往data表入电话数据 values.clear(); values.put(ContactsContract.Contacts.Data.RAW_CONTACT_ID
(); //创建获取联系人的内容解析者 ContentResolver resolver = context.getContentResolver(); //ContactsContract.CommonDataKinds :获取到data表 , Phone.CONTENT_URI:获取联系人数据库的URI Uri uri= ContactsContract.CommonDataKinds.Phone.CONTENT_URI ,//获取联系人名称 ContactsContract.CommonDataKinds.Phone.NUMBER,//获取联系人号码 ContactsContract.CommonDataKinds.Phone.CONTACT_ID ,i+""); //ContactsContract.Contacts:相当于联系人APP的数据库中Contact表,通过openContactPhotoInputStream拿到流对象 InputStream is=ContactsContract.Contacts.openContactPhotoInputStream(contentResolver,uri); //将拿到的资源的转换成我们所需要的图片
cr = getContentResolver(); //取得电话本中开始一项的光标 Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI //取得联系人名字 int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME //取得电话号码 String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts _ID)); Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI , null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
ContactsContract.Contacts.CONTENT_URI:联系人Uri。 , rawContactId); // 设置内容类型 values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, phone); values.put(ContactsContract.CommonDataKinds.Phone.TYPE , ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE); getContentResolver().insert(ContactsContract.Data.CONTENT_URI
, ContactsContract.CommonDataKinds.Phone.NUMBER }; // 执行查询 Cursor cursor ;// 定义投影(即要返回的列)String[] projection = {ContactsContract.Contacts. _ID, ContactsContract.Contacts.DISPLAY_NAME};// 定义选择条件String selection = ContactsContract.Contacts.DISPLAY_NAME ;// 定义投影(即要返回的列)String[] projection = {ContactsContract.Contacts. _ID, ContactsContract.Contacts.DISPLAY_NAME};// 定义选择条件String selection = ContactsContract.Contacts.DISPLAY_NAME
中找到该联系人的电话号码 * 通过这个ID可以在ContactsContract.CommonDataKinds.Email.CONTENT_URI 找到该联系人的邮箱 中查询 * 条件为ContactsContract.CommonDataKinds.Phone.CONTACT_ID = 上面查询到的ID , null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, 中查询 * 条件为ContactsContract.CommonDataKinds.Phone.CONTACT_ID = 上面查询到的ID , null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + "=" + contactId,
; import android.content.pm.PackageManager; import android.database.Cursor; import android.provider.ContactsContract readContacts() { Cursor cursor = null; try{ cursor = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI //获取联系人姓名 String displayName = cursor.getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME )); //获取联系人手机号 String number = cursor.getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER
hasPermission) { return contacts; } var uri = ContactsContract.Contacts.ContentUri; , ContactsContract.Contacts.InterfaceConsts.DisplayName, ContactsContract.Contacts.InterfaceConsts.PhotoThumbnailUri }, null, null, $"{ContactsContract.Contacts.InterfaceConsts.DisplayName , null, ContactsContract.CommonDataKinds.Phone.InterfaceConsts.ContactId + " = ?" , null, ContactsContract.CommonDataKinds.Email.InterfaceConsts.ContactId + " = ?"
Uri uri= ContactsContract.Contacts.CONTENT_URI; Cursor cs=getContentResolver().query(uri, null, null ()){ int uid=cs.getInt(cs.getColumnIndex(ContactsContract.Contacts. Uri uri= new Uri(ContactsContract.Contacts.CONTENT_URI); Cursor cs=getContentResolver().query(uri); while(cs.moveToNext()){ int uid=cs.getInt(ContactsContract.Contacts. _ID)); String name=cs.getString(ContactsContract.Contacts.DISPLAY_NAME)); Log.d("mylog",""+uid+
projection = new String[] {Phone.DISPLAY_NAME, Phone.NUMBER}; Uri uri_Person = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI android.database.sqlite.SQLiteException; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract ; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.util.Log; import android.widget.ScrollView projection = new String[] {Phone.DISPLAY_NAME, Phone.NUMBER}; Uri uri_Person = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI
LocationManager.requestLocationUpdates - 读/发 短信 SmsManager.sendTextMessage SmsMessage.createFromPdu - 读写联系人 ContactsContract.Contacts ContactsContract.RawContacts ContactsContract.Data - 读取应用列表(读取手机中已安装应用的列表) PackageManger.getInstalledApplications
android.database.sqlite.SQLiteException; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract ; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.PhoneLookup String[] {Phone.DISPLAY_NAME, Phone.NUMBER}; Uri uri_Person = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI
android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract ; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.widget.ListView; import list = new ArrayList<HashMap<String, String>>(); Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI
// 数据查询 try (Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI )); String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER 联合使用,用于替换selection中的 sortOrder:排列顺序,相当于数据库中的order by 全部参数使用实例: contentResolver.query(android.provider.ContactsContract.Contacts.CONTENT_URI , new String[]{android.provider.ContactsContract.Contacts.DISPLAY_NAME} , android.provider.ContactsContract.Contacts.DISPLAY_NAME , new String[]{"小易"} , android.provider.ContactsContract.Contacts.DISPLAY_NAME + " DESC"); // 中间存在空格
;String[] projection = new String[]{ContactsContract.Contacts. _ID,ContactsContract.Contacts.DISPLAY_NAME};Cursor cursor = this.getContentResolver().query(uri, projection Long id = cursor.getLong(0);String name =cursor.getString(1);String[] phoneProjection = newString[]{ContactsContract.CommonDataKinds.Phone.NUMBER };arr[i] = id + " |name:" + name;Cursor phonesCusor =this.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI ,phoneProjection,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + id,null,null);if (phonesCusor
vnd.android.cursor.item:单行记录 vnd.android.cursor.dir:多行记录(集合) 例如通讯录 ContentProvider 定义了两种 MIME 类型,分别表示多条记录和单条记录: ContactsContract.java ; String[] projection = { ContactsContract.Contacts. _ID, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER }; String selectionClause = ContactsContract.CommonDataKinds.Phone.NUMBER + " = ?" )); // 联系人电话 String phone = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER
Contact>contacts=newArrayList<>();ContentResolvercontentResolver=context.getContentResolver();Uriuri=ContactsContract.CommonDataKinds.Phone.CONTENT_URI ;String[]projection={ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER =null){while(cursor.moveToNext()){Stringname=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME ));Stringnumber=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)
写我们获取联系人的工具类 public class PhoneUtil { // 号码 public final static String NUM = ContactsContract.CommonDataKinds.Phone.NUMBER ; // 联系人姓名 public final static String NAME = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME //上下文对象 private Context context; //联系人提供者的uri private Uri phoneUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI
android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract Uri uri; String[] projection; uri = Uri.withAppendedPath( ContactsContract.PhoneLookup.CONTENT_FILTER_URI , Uri.encode(fromAddress)); projection = new String[] { ContactsContract.PhoneLookup.DISPLAY_NAME