public void inport(View view) {

Intent intentContact = new Intent(Intent.ACTION_PICK,

ContactsContract.Contacts.CONTENT_URI);

startActivityForResult(intentContact, PICK_CONTACT);

}

@Override

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

if (requestCode == PICK_CONTACT) {

getContactInfo(intent);

}

}

protected void getContactInfo(Intent intent) {

Cursor cursor = managedQuery(intent.getData(), null, null, null, null);

while (cursor.moveToNext()) {

String contactId = cursor.getString(cursor

.getColumnIndex(ContactsContract.Contacts._ID));

String name = cursor

.getString(cursor

.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));

String hasPhone = cursor

.getString(cursor

.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

if (hasPhone.equalsIgnoreCase("1"))

hasPhone = "true";

else

hasPhone = "false";

String phoneNumber = null;

if (Boolean.parseBoolean(hasPhone)) {

Cursor phones = getContentResolver().query(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID

+ " = " + contactId, null, null);

while (phones.moveToNext()) {

phoneNumber = phones

.getString(phones

.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

}

phones.close();

}

Cursor emails = getContentResolver().query(

ContactsContract.CommonDataKinds.Email.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = "

+ contactId, null, null);

String emailAddress = null;

while (emails.moveToNext()) {

emailAddress = emails

.getString(emails

.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));

}

emails.close();

Cursor address = getContentResolver()

.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID

+ " = " + contactId, null, null);

while (address.moveToNext()) {

String poBox = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));

String street = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));

String city = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));

String state = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));

String postalCode = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));

String country = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));

String type = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));

}

Log.e("联系人", name + ":" + phoneNumber + " " + emailAddress);

}

cursor.close();

}

更多相关文章

  1. android联系人中英文混合排序
  2. android 通过ContentResolver获得联系人数据
  3. android打开联系人的代码
  4. 实现类似Android联系人搜索功能
  5. android获取联系人所有内容
  6. Android 添加删除联系人2.0之前与2.0之后
  7. Android 学习笔记 Contacts (二)Contacts 联系人详解
  8. Android联系人数据库全解析(4)
  9. Android联系人数据库全解析(3)

随机推荐

  1. Android之Android(安卓)studio设置背景图
  2. android gradle导入依赖的另一个方法
  3. NoClassDefFoundError: android/os/Persi
  4. Android(安卓)音视频开发(二) -- Camera1
  5. Android(安卓)Event事件传递机制总结
  6. Android系统开发
  7. Android对话框AlertDialog.Builder使用方
  8. Android(安卓)使用OKHttp获取字符串和下
  9. [Network]Android(安卓)N 新wifi connect
  10. Android临时和永久关闭selinux