安卓系统中是如何获取手机联系人的

  介绍

这篇文章给大家介绍Android中是如何获取手机联系人的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> Android获取系统联系人信息的实例

<强>一、获取手机联系人姓名及手机号

//跳转到系统联系人应用,   Intent  Intent =, new 意图(Intent.ACTION_PICK,,   ,,,,,,,,,ContactsContract.Contacts.CONTENT_URI),,   ,,,,,try  {,   ,,,,,,,startActivityForResult(意图,,Contacts1RequestCode),,   ,,,,,},catch  (Exception  e), {,   ,,,,,,,LogManager.e(“打开联系人信息失败“),,   ,,,,,}

添加权限申请

& lt; uses-permission  android: name=癮ndroid.permission.READ_CONTACTS",/在

选择联系人并返回

protected  void  onActivityResult (int  requestCode, int  resultCode,, Intent 数据),{,   ,,,super.onActivityResult (requestCode, resultCode,,数据),,   ,,,if  (Contacts1RequestCode ==, requestCode),{//,取联系信息返回,   ,,,,,if  (resultCode ==, RESULT_OK), {,   ,,,,,,,Uri  contactData =, data.getData (),,   ,,,,,,,Cursor  Cursor =, getContentResolver () .query (contactData, null,,   ,,,,,,,,,,,空,,空,,null),,   ,,,,,,,//键联系人姓名,价值联系人手机号,   ,,,,,,,Map<字符串,String>, phoneMap =, this.getContactPhone(光标);,   ,,,,,,,if  (! cursor.isClosed ()), {,   ,,,,,,,,,cursor.close (),,   ,,,,,,,},   ,,,,,,,if  (null  !=, phoneMap ,,, ! phoneMap.isEmpty ()), {,   ,,,,,,,,,Set, keySet =, phoneMap.keySet (),,   ,,,,,,,,,if  (null  !=, keySet ,,, ! keySet.isEmpty ()), {,   ,,,,,,,,,,,对象[],keys =, keySet.toArray (),,   ,,,,,,,,,,,String  phoneName =,(字符串),钥匙[0];,   ,,,,,,,,,,,String  phoneNo =, phoneMap.get (phoneName);,   ,,,,,,,,,},   ,,,,,,,},   ,,,,,},   ,,,},   以前,,}
/* *,
  ,,*,获取联系人姓名及手机号,
  ,,*,
  ,,*,@param  cursor 
  ,,*,@return 关键为联系人姓名,值为联系人手机号,
  ,,*/,
  private 才能;Map<字符串,String>, getContactPhone (Cursor 游标),{,
  ,,,Map<字符串,String>, resultMap =, new  HashMap<字符串,String> ();,
  ,,,String  phoneName =,零;//,姓名,
  ,,,String  mobilePhoneNo =,零;//,手机号,
  ,
  ,,,if  (null  !=,游标),{,
  ,,,,,cursor.moveToFirst (),,
  ,
  ,,,,,//,获得联系人的ID号,
  ,,,,,int  idFieldIndex =, cursor 
  ,,,,,,,,,.getColumnIndex (ContactsContract.Contacts._ID);,
  ,,,,,String  contactId =, cursor.getString (idFieldIndex);,
  ,,,,,//,联系人姓名,
  ,,,,,int  idphoneNameIndex =, cursor 
  ,,,,,,,,,.getColumnIndex (ContactsContract.Contacts.DISPLAY_NAME);,
  ,,,,,phoneName =, cursor.getString (idphoneNameIndex);,
  ,
  ,,,,,//,获得联系人的电话号码的光标,,
  ,,,,,Cursor  allPhones =, getContentResolver () .query (,
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

安卓系统中是如何获取手机联系人的