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线程间通信 Handler使用详解

    Android线程间通信 Handler使用详解

    这篇文章主要为大家介绍了Android线程间通信Handler使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android 中Failed to read key from keystore解决办法

    Android 中Failed to read key from keystore解决办法

    这篇文章主要介绍了Android 中Failed to read key from keystore解决办法的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Android中关于JSON相关应用分析

    Android中关于JSON相关应用分析

    这篇文章主要介绍了Android中关于JSON相关应用,较为详细的分析了Android中关于json相关类与使用方法,需要的朋友可以参考下
    2016-06-06
  • Android中的全局变量与局部变量使用小结

    Android中的全局变量与局部变量使用小结

    这篇文章主要介绍了Android中的全局变量与局部变量使用小结,全局变量顾名思义就是在整个的类中或者可在多个函数中调用的变量,也称为外部变量,局部变量则是特定过程或函数中可以访问的变量,需要的朋友可以参考下
    2015-01-01
  • flutter 路由跳转的实现示例

    flutter 路由跳转的实现示例

    这篇文章主要介绍了flutter 路由跳转的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Android自定义PopupWindow小案例

    Android自定义PopupWindow小案例

    这篇文章主要为大家详细介绍了Android自定义PopupWindow小案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android自定义Seekbar滑动条 Pop提示跟随滑动按钮滑动

    Android自定义Seekbar滑动条 Pop提示跟随滑动按钮滑动

    这篇文章主要为大家详细介绍了Android自定义Seekbar滑动条,Pop提示跟随滑动按钮滑动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android自定义TimeButton实现倒计时按钮

    Android自定义TimeButton实现倒计时按钮

    这篇文章主要为大家详细介绍了Android自定义TimeButton实现倒计时按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Android学习笔记(一)环境安装及第一个hello world

    Android学习笔记(一)环境安装及第一个hello world

    最近在学习安卓开发,记录下环境安装和第一个hello world的诞生过程,希望对大家有所帮助
    2014-07-07
  • Android UI实现底部切换标签fragment

    Android UI实现底部切换标签fragment

    这篇文章主要为大家详细介绍了Android UI实现底部切换标签的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论