让所有接触细节在Android中有一个电话号码 [英] Getting all contact details which have a phone numbers in Android

查看:154
本文介绍了让所有接触细节在Android中有一个电话号码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Android的我想这有电话号码的联系人的所有细节,这样会有什么更好的方式来得到这个?


解决方案

 公共无效getContact(){
     //获得所有的联系人
    光标CUR = getContentResolver()查询(ContactsContract.Contacts.CONTENT_URI,NULL,NULL,NULL,NULL);
    //循环遍历
    如果(cur.moveToFirst()){
        INT idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);        INT displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
        做{
            //获得联系人的ID号
           字符串的ContactID = cur.getString(idColumn);
           //获得联系人姓名
           字符串DISPLAYNAME = cur.getString(displayNameColumn);
           //查看该联系人有多少个电话号码。如果没有这返回值为0
           INT phoneCount = cur.getInt(CUR
                    .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
           如果(phoneCount大于0){
               //获得联系人的电话号码
               光标手机= getContentResolver()查询(
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        空值,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                +=+的ContactID,NULL,NULL);
               如果(phones.moveToFirst()){
                   做{
                       //遍历所有的电话号码
                       字符串phoneNumber的= phones.getString(电话
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                       的System.out.println(phoneNumber的);
                   }而(phones.moveToNext());
               }

In android I want all contacts details which have phone numbers so what will be the better way to get this?

解决方案

public void getContact(){   
     //获得所有的联系人   
    Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);   
    //循环遍历   
    if (cur.moveToFirst()) {   
        int idColumn  = cur.getColumnIndex(ContactsContract.Contacts._ID);   

        int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);   
        do {   
            //获得联系人的ID号   
           String contactId = cur.getString(idColumn);   
           //获得联系人姓名   
           String disPlayName = cur.getString(displayNameColumn);   
           //查看该联系人有多少个电话号码。如果没有这返回值为0   
           int phoneCount = cur.getInt(cur   
                    .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));   
           if(phoneCount>0){   
               //获得联系人的电话号码   
               Cursor phones = getContentResolver().query(   
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,   
                        null,   
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID   
                                + " = " + contactId, null, null);   
               if(phones.moveToFirst()){   
                   do{   
                       //遍历所有的电话号码   
                       String phoneNumber= phones.getString(phones     
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));   
                       System.out.println(phoneNumber);   
                   }while(phones.moveToNext());   
               }   

这篇关于让所有接触细节在Android中有一个电话号码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆