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

 更新时间:2015年04月24日 09:19:24   投稿:junjie  
这篇文章主要介绍了Android获取手机通讯录、sim卡联系人及调用拨号界面方法,本文分别给出实现代码实现获取通讯录和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"/> 

相关文章

  • Android 仿微信底部渐变Tab效果

    Android 仿微信底部渐变Tab效果

    这篇文章主要介绍了Android 仿微信底部渐变Tab效果,需要的朋友可以参考下
    2017-12-12
  • Android判断app是否在后台运行

    Android判断app是否在后台运行

    这篇文章主要为大家介绍了Android判断app是否在后台运行的实现流程及代码实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Android中Button实现点击换图案及颜色

    Android中Button实现点击换图案及颜色

    大家好,本篇文章主要讲的是Android中Button实现点击换图案及颜色,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Android滚动菜单ListView实例详解

    Android滚动菜单ListView实例详解

    这篇文章主要为大家详细介绍了Android滚动菜单ListView实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 你必须掌握在Flutter中添加资源文件的方法

    你必须掌握在Flutter中添加资源文件的方法

    这篇文章主要介绍了你必须掌握在Flutter中添加资源文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • 使用ViewPager实现android软件使用向导功能实现步骤

    使用ViewPager实现android软件使用向导功能实现步骤

    现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
    2013-11-11
  • Android监听键盘状态获取键盘高度的实现方法

    Android监听键盘状态获取键盘高度的实现方法

    这篇文章主要给大家介绍了关于Android监听键盘状态获取键盘高度的实现方法,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Android ndk获取手机内部存储卡的根目录方法

    Android ndk获取手机内部存储卡的根目录方法

    今天小编就为大家分享一篇Android ndk获取手机内部存储卡的根目录方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Android O添加桌面快捷方式的示例

    Android O添加桌面快捷方式的示例

    本篇文章主要介绍了AndroidO添加桌面快捷方式的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Android银行卡扫描获取银行卡号

    Android银行卡扫描获取银行卡号

    这篇文章主要为大家详细介绍了Android银行卡扫描获取银行卡号的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09

最新评论