100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android获取手机通讯录联系人

android获取手机通讯录联系人

时间:2023-08-21 04:34:41

相关推荐

android获取手机通讯录联系人

android获取手机通讯录联系人信息

private void getPhoneContacts() { ContentResolver resolver = this.getContentResolver(); // 获取手机联系人 Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,new String[] { Phone.CONTACT_ID, Phone.DISPLAY_NAME,Phone.NUMBER },Phone.DISPLAY_NAME + "=?" + " AND " + Phone.TYPE + "='"+ Phone.TYPE_MOBILE + "'", new String[] { name }, null);if (phoneCursor != null) {while (phoneCursor.moveToNext()) {String number = phoneCursor.getString(2);// 当手机号码为空的或者为空字段 跳过当前循环 if (TextUtils.isEmpty(phoneNumber)) continue;// 得到联系人名称String username = phoneCursor.getString(1);mContactsName.add(contactName); mContactsNumber.add(phoneNumber);}phoneCursor.close();} }

获得手机sim卡联系人信息

sim卡和手机本人 获取的方式类似 只是url有点不一样 ,须要注意的一点是 sim卡 是没有联系人头像的。

private void getSIMContacts() { ContentResolver resolver = mContext.getContentResolver(); // 获取Sims卡联系人 Uri uri = Uri.parse("content://icc/adn"); Cursor phoneCursor = resolver.query(uri,new String[] { Phone.CONTACT_ID, Phone.DISPLAY_NAME,Phone.NUMBER },Phone.DISPLAY_NAME + "=?" + " AND " + Phone.TYPE + "='"+ Phone.TYPE_MOBILE + "'", new String[] { name }, null);if (phoneCursor != null) {while (phoneCursor.moveToNext()) {String number = phoneCursor.getString(2);// 当手机号码为空的或者为空字段 跳过当前循环 if (TextUtils.isEmpty(phoneNumber)) continue;// 得到联系人名称String username = phoneCursor.getString(1);mContactsName.add(contactName); mContactsNumber.add(phoneNumber);}phoneCursor.close();}}

调用系统拨打电话的界面 ,代码如下。

tel:电话号码

//调用系统方法拨打电话 Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + mContactsNumber.get(position))); startActivity(dialIntent);

最后,千万别忘记在AndroidManifest.xml文件中添加权限,否则运行程序是报错!

<!-- 读取联系人权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"/> <!-- 拨打电话权限 --> <uses-permission android:name="android.permission.CALL_PHONE"/>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。