http://blog.163.com/szs121@126/blog/static/109056781201079113213628/
http://wang-peng1.iteye.com/blog/564284
android 中获取联系人

ContentResolver cr = getContentResolver();        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);        while(cursor.moveToNext()){        //get name        int nameFiledColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);        String contact = cursor.getString(nameFiledColumnIndex);                    String[] PHONES_PROJECTION = new String[] { "_id","display_name","data1","data3"};//            String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID));            Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION,                                     ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null);            //name type ..             while(phone.moveToNext()) {            int i = phone.getInt(0);            String str = phone.getString(1);            str = phone.getString(2);            str = phone.getString(3);            }            phone.close();            //addr            Cursor addrCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI ,         new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null);            while(addrCur.moveToNext()) {            int i = addrCur.getInt(0);            String str = addrCur.getString(1);            str = addrCur.getString(2);            str = addrCur.getString(3);            }            addrCur.close();                        //email            Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI ,         new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null);            while(emailCur.moveToNext()) {            int i = emailCur.getInt(0);            String str = emailCur.getString(1);            str = emailCur.getString(2);            str = emailCur.getString(3);            }            emailCur.close();                    }        cursor.close();


android中获取通话记录
String str = "";        int type;        long callTime;        Date date;        String time= "";        ContentResolver cr = getContentResolver();        final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI, new String[]{CallLog.Calls.NUMBER,CallLog.Calls.CACHED_NAME,CallLog.Calls.TYPE, CallLog.Calls.DATE}, null, null,CallLog.Calls.DEFAULT_SORT_ORDER);        for (int i = 0; i < cursor.getCount(); i++) {               cursor.moveToPosition(i);            str = cursor.getString(0);            str = cursor.getString(1);            type = cursor.getInt(2);            SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");            date = new Date(Long.parseLong(cursor.getString(3)));            time = sfd.format(date);           }



读取联系人的名字很简单,但是在读取电话号码时,就需要先去的联系人的ID,然后在通过ID去查找电话号码!一个联系人可能存在多个电话号码!

//得到ContentResolver对象   ContentResolver cr = getContentResolver();     //取得电话本中开始一项的光标   Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);   while (cursor.moveToNext())   {       // 取得联系人名字      int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);       String name = cursor.getString(nameFieldColumnIndex);       string += (name);       // 取得联系人ID       String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));       Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "              + contactId, null, null);         // 取得电话号码(可能存在多个号码)       while (phone.moveToNext())       {           String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));           string += (":" + strPhoneNumber);       }       string += "\n";       phone.close();   }   cursor.close();  

更多相关文章

  1. android获取手机通讯录联系人
  2. android-仿QQtab
  3. android之EditText
  4. 【Android】Android(安卓)联系人数据库浅析之通话记录
  5. android 存储联系人(save contact) 总结
  6. Android联系人数据库全解析(5)
  7. Android(安卓)之 发送短信
  8. android调用系统程序
  9. android获取电话号码实例

随机推荐

  1. Android打包剔除指定权限
  2. 【Android】BoradcastReceiver ContentPr
  3. getReadableDatabase() 和 getWritableDa
  4. 安卓微信第三方登陆
  5. Android:网络图片Url 转 Bitmap
  6. Android自定义Dialog去除黑色边框
  7. Android动态布局
  8. android 如何通过包名杀死指定的进程
  9. Android(安卓)NDK开发之旅29--C++--list
  10. MTK Android(安卓)如何自动挂断电话