如何获取android系统中的联系人和电话号码
2015-04-03 17:04
423 查看
android系统的联系人数据库是非常的复杂,并不是一个简单的表就能搞定的。
要简单的查询用户名和电话号码,首先要查询到姓名,然后再进局姓名去查询电话号码,一个姓名可能对应多个电话号码:
要简单的查询用户名和电话号码,首先要查询到姓名,然后再进局姓名去查询电话号码,一个姓名可能对应多个电话号码:
// These are the Contacts rows that we will retrieve. static final String[] CONTACTS_SUMMARY_PROJECTION = new String[]{ ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.CONTACT_STATUS, ContactsContract.Contacts.CONTACT_PRESENCE, ContactsContract.Contacts.PHOTO_ID, ContactsContract.Contacts.LOOKUP_KEY, } Uri baseUri = ContactsContract.Contacts.CONTENT_URI; // Now create and return a CursorLoader that will take care of // creating a Cursor for the data being displayed. String select = "((" + ContactsContract.Contacts.DISPLAY_NAME + " NOTNULL) AND (" + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1) AND (" + ContactsContract.Contacts.DISPLAY_NAME + " != '' ))"; return new CursorLoader(ContactActivity.this.getApplicationContext(), baseUri, CONTACTS_SUMMARY_PROJECTION, select, null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"); List<Map<String, String>> list = new ArrayList<>(); while (data.moveToNext()) { Map<String, String> map = new HashMap(); String name = data.getString(data.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); String ContactId = data.getString(data.getColumnIndex(ContactsContract.Contacts._ID)); Cursor phone = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null); while (phone.moveToNext()) { String Number = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); if (Number != null) { map.put(name, Number); } } list.add(map); }
相关文章推荐
- Android如何获取系统联系人数据?
- js如何获取android手机的电话号码和联系人,并且传递给PHP、Java后台
- Android系列之如何获取手机系统的联系人
- Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
- 如何使Android应用程序获取系统权限
- Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
- Android中 根据电话号码获取联系人姓名
- 如何获取 android 的系统日志 logcat
- Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
- android系统如何获取imei号码,获取手机型号和系统版本号
- 如何监听系统联系人修改-android
- Android 编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
- 如何获取 android 的系统日志 logcat
- 如何使Android应用程序获取系统权限【转】
- Android 编程获取手机型号,本机电话号码,sdk版本及firmware版本“.NET研究”号(即系统版本号)
- android2.0以下获取联系人电话号码的URI
- Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
- 如何使Android应用程序获取系统权限
- 获取android2.2的联系人及电话号码
- 如何获取和设置android系统铃声和音量大小