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

所属分类: 软件编程 / Android 阅读数: 669
收藏 0 赞 0 分享

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 byte[] 和short[]转换的方法代码

这篇文章主要介绍了android byte[] 和short[]转换的方法代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android获取应用程序大小的方法

这篇文章主要介绍了Android获取应用程序大小的方法,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android获取其他包的Context实例代码

这篇文章主要介绍了Android获取其他包的Context实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android放大镜的实现代码

这篇文章主要介绍了Android放大镜的实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android 读取Properties配置文件的小例子

这篇文章主要介绍了Android 读取Properties配置文件的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android通讯录开发之删除功能的实现方法

这篇文章主要介绍了Android通讯录开发之删除功能的实现方法,有需要的朋友可以参考一下
收藏 0 赞 0 分享

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

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享
查看更多