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;
        }
  • 相关阅读:
    Oracel基础知识
    64位系统运行32位Oracle程序解决方案
    Oracle 级联删除
    string转DateTime(时间格式转换)
    vs2013 内置IIS Express相关问题
    小马哥课堂-统计学-置信区间(2)
    小马哥课堂-统计学-置信区间
    小马哥课堂-统计学-标准误差
    小马哥课堂-统计学-中心极限定理
    python之histogram
  • 原文地址:https://www.cnblogs.com/cbooy/p/4740087.html
Copyright © 2011-2022 走看看