zoukankan      html  css  js  c++  java
  • 读取手机本地全部联系人

        /**
         * 读取 联系人
         * @param context
         * @return
         */
        public static List<Map<String, String>> getLocalContacts(Context context) {
            
            List<Map<String, String>> datas = new ArrayList<Map<String,String>>();
            
            ContentResolver cr = context.getContentResolver();
            
            Uri uriRawContacts = Uri.parse("content://com.android.contacts/raw_contacts");
            
            Uri uriData = Uri.parse("content://com.android.contacts/data");
            
            Cursor rawContactsCursor = cr.query(uriRawContacts, 
                    new String[] { "contact_id"}, 
                    null, 
                    null, 
                    null);
            
            String data1 = null;
            
            String mimetype = null;
            
            while(rawContactsCursor.moveToNext()){
                String contactId = rawContactsCursor.getString(rawContactsCursor.getColumnIndex("contact_id"));
                
                if(contactId != null){
                    
                    Map<String, String> data = new HashMap<String,String>();
                    
                    Cursor dataCursor = cr.query(uriData, 
                            new String[]{"data1","mimetype"}, 
                            "contact_id=?", 
                            new String[]{contactId}, 
                            null);
                    
                    while(dataCursor.moveToNext()){
                        
                        data1 = dataCursor.getString(dataCursor.getColumnIndex("data1"));
                        mimetype = dataCursor.getString(dataCursor.getColumnIndex("mimetype"));
                        
                        if("vnd.android.cursor.item/name".equals(mimetype)){
                            data.put("name", data1);
                            //Log.i(StaticDatas.CONTACTSHELPERUTIL_LOG_TAG, "name is " + data1);
                        }else if("vnd.android.cursor.item/phone_v2".equals(mimetype)){
                            data.put("phone", data1);
                            //Log.i(StaticDatas.CONTACTSHELPERUTIL_LOG_TAG, "phone is " + data1);
                        }
                    }
                    
                    datas.add(data);
                    
                    dataCursor.close();
                }
            }
            
            rawContactsCursor.close();
            
            return datas;
        }
  • 相关阅读:
    sublime Text2 快捷键精华版
    jQuery中的选择器(下)
    jQuery中的选择器(上)
    C#编程语言与面向对象——类与对象
    C#编程语言与面向对象——核心
    拖延症改变
    IIS 发布网站 ashx无法访问
    C# button 去边框
    JS URL参数传递 谷歌乱码解决
    地址(Address)——统一资源表示(URI)——WCF学习笔记(2)
  • 原文地址:https://www.cnblogs.com/cbooy/p/4740087.html
Copyright © 2011-2022 走看看