Android 獲取通話記錄

				ContentResolver contentResolver = mActivity.getContentResolver();
				Cursor cursor = null;
				try {
					cursor = contentResolver.query(
							// CallLog.Calls.CONTENT_URI, Columns, null,
							// null,CallLog.Calls.DATE+" desc");
							CallLog.Calls.CONTENT_URI, null, null, null,
							CallLog.Calls.DATE + " desc");
					if (cursor == null)
						return null;
					List<RecordEntity> mRecordList = new ArrayList<RecordEntity>();
					while (cursor.moveToNext()) {
						RecordEntity record = new RecordEntity();
						record.name = cursor.getString(cursor
								.getColumnIndex(CallLog.Calls.CACHED_NAME));
						record.number = cursor.getString(cursor
								.getColumnIndex(CallLog.Calls.NUMBER));
						record.type = cursor.getInt(cursor
								.getColumnIndex(CallLog.Calls.TYPE));
						record.lDate = cursor.getLong(cursor
								.getColumnIndex(CallLog.Calls.DATE));
						record.duration = cursor.getLong(cursor
								.getColumnIndex(CallLog.Calls.DURATION));
						record._new = cursor.getInt(cursor
								.getColumnIndex(CallLog.Calls.NEW));
						Log.e(TAG, record.toString());
//						int photoIdIndex = cursor.getColumnIndex(CACHED_PHOTO_ID);
//						if (photoIdIndex >= 0) {
//							record.cachePhotoId = cursor.getLong(photoIdIndex);
//						}

						mRecordList.add(record);
					}
				} finally {
					if (cursor != null) {
						cursor.close();
					}
				}


 

	private class RecordEntity{
		String name;
		String number;
		int type;
		long lDate;
		long duration;
		int _new;
		@Override
		public String toString() {
			return "RecordEntity [toString()=" + name+"," + number+"," + type+"," + lDate+"," + duration+"," + name+"," + "]";
		}
	}


 

 

 

權限:

 

    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
    <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章