获得 android 通讯薄 中的内容
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
Log.d(TAG, "号码数量="+cursor.getColumnCount()+"");
if(cursor.getCount() == 0)return;
//向下移动光标
Log.d(TAG, "cursor="+cursor);
while(cursor.moveToNext()) {
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
People people = new People();
people.name = contact;
Log.d(TAG, "userName="+contact) ;
// Log.d(TAG, "number="+cursor.getString(starred));
//取得电话号码
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);
while(phone.moveToNext()) {
String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
people.phone = PhoneNumber;
Log.d(TAG, "phone num ="+PhoneNumber);
}
Cursor home = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId+" and "+StructuredPostal.TYPE +"="+
StructuredPostal.TYPE_HOME, null, null);
while(home.moveToNext()) {
String country = home.getString(home.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.DATA));
people.address = country;
}
Log.d(TAG, people.toString());
更多相关文章
- android 设置EditText不可编辑内容,响应点击事件
- android短信管理器SmsManager实例详解
- Android启动系统自带的程序组件
- Android 编程获取手机型号,本机电话号码,sdk版本及firmware版本号(
- Android收起虚拟键盘
- Android防微信表情功能
- android2.1获得联系人信息+Android 获取信息终端
- EditText 光标不显示问题