当前位置: 首页 > 编程笔记 >

Android获取手机通讯录、sim卡联系人及调用拨号界面方法

秦哲瀚
2023-03-14
本文向大家介绍Android获取手机通讯录、sim卡联系人及调用拨号界面方法,包括了Android获取手机通讯录、sim卡联系人及调用拨号界面方法的使用技巧和注意事项,需要的朋友参考一下

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"/>  

 类似资料:
  • 问题内容: 是否可以在一个查询中完成? 据我所知sim联系人的内容uri是 问题答案: 这很容易!:)

  • 本文向大家介绍Android获取手机联系人信息,包括了Android获取手机联系人信息的使用技巧和注意事项,需要的朋友参考一下 Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查

  • 本文向大家介绍Android ContentProvider获取手机联系人实例,包括了Android ContentProvider获取手机联系人实例的使用技巧和注意事项,需要的朋友参考一下 在做项目的时候,因为要用到我们自动获取联系人的姓名和电话,就想到了ContentProvider分享数据的功能,这样做既节省了时间,也减少了我们输入错误号码的几率,所以,想在这里把小demo分享给大家,方便以

  • 本文向大家介绍Android获取手机SIM卡运营商信息的方法,包括了Android获取手机SIM卡运营商信息的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: 权限代码如下: 希望本文所述对大家的Android程序设计有所帮助

  • 本文向大家介绍Android获取手机联系人电话号码并返回结果,包括了Android获取手机联系人电话号码并返回结果的使用技巧和注意事项,需要的朋友参考一下 之前做了一个小练习需要用到获取手机里联系人的电话号码,通过查阅相关的资料,自己尝试写了一个小例子,可以成功获取。 首先需要在AndroidManifest.xml中获取权限 xml布局文件 MainActivity.java 以上就是本文的全部

  • 本文向大家介绍Android使用AsyncQueryHandler实现获取手机联系人功能,包括了Android使用AsyncQueryHandler实现获取手机联系人功能的使用技巧和注意事项,需要的朋友参考一下 利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。 布局文件main.xml contact.java 联系人bean文件 M