安卓手机获取手机通话记录信息

  1.                 ContentResolver contentResolver = mActivity.getContentResolver();  
  2.                 Cursor cursor = null;  
  3.                 try {  
  4.                     cursor = contentResolver.query(  
  5.                             // CallLog.Calls.CONTENT_URI, Columns, null,  
  6.                             // null,CallLog.Calls.DATE+" desc");  
  7.                             CallLog.Calls.CONTENT_URI, nullnullnull,  
  8.                             CallLog.Calls.DATE + " desc");  
  9.                     if (cursor == null)  
  10.                         return null;  
  11.                     List<RecordEntity> mRecordList = new ArrayList<RecordEntity>();  
  12.                     while (cursor.moveToNext()) {  
  13.                         RecordEntity record = new RecordEntity();  
  14.                         record.name = cursor.getString(cursor  
  15.                                 .getColumnIndex(CallLog.Calls.CACHED_NAME));  
  16.                         record.number = cursor.getString(cursor  
  17.                                 .getColumnIndex(CallLog.Calls.NUMBER));  
  18.                         record.type = cursor.getInt(cursor  
  19.                                 .getColumnIndex(CallLog.Calls.TYPE));  
  20.                         record.lDate = cursor.getLong(cursor  
  21.                                 .getColumnIndex(CallLog.Calls.DATE));  
  22.                         record.duration = cursor.getLong(cursor  
  23.                                 .getColumnIndex(CallLog.Calls.DURATION));  
  24.                         record._new = cursor.getInt(cursor  
  25.                                 .getColumnIndex(CallLog.Calls.NEW));  
  26.                         Log.e(TAG, record.toString());  
  27. //                      int photoIdIndex = cursor.getColumnIndex(CACHED_PHOTO_ID);  
  28. //                      if (photoIdIndex >= 0) {  
  29. //                          record.cachePhotoId = cursor.getLong(photoIdIndex);  
  30. //                      }  
  31.   
  32.                         mRecordList.add(record);  
  33.                     }  
  34.                 } finally {  
  35.                     if (cursor != null) {  
  36.                         cursor.close();  
  37.                     }  

  1.                 }  



[java]  view plain  copy
  1. private class RecordEntity{  
  2.     String name;  
  3.     String number;  
  4.     int type;  
  5.     long lDate;  
  6.     long duration;  
  7.     int _new;  
  8.     @Override  
  9.     public String toString() {  
  10.         return "RecordEntity [toString()=" + name+"," + number+"," + type+"," + lDate+"," + duration+"," + name+"," + "]";  
  11.     }  
  12. }  



权限:html

 

[html]  view plain  copy
  1. <uses-permission android:name="android.permission.READ_CALL_LOG"/>  
  2. <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>