Đây là mã có thể truy vấn nhật ký cuộc gọi cho một cuộc gọi nhỡ. Về cơ bản, bạn sẽ phải kích hoạt bằng cách nào đó và đảm bảo rằng bạn cung cấp nhật ký cuộc gọi một thời gian (một vài giây nên làm) để viết thông tin nếu không bạn kiểm tra nhật ký cuộc gọi quá sớm, bạn sẽ không tìm thấy cuộc gọi gần đây nhất.
final String[] projection = null;
final String selection = null;
final String[] selectionArgs = null;
final String sortOrder = android.provider.CallLog.Calls.DATE + " DESC";
Cursor cursor = null;
try{
cursor = context.getContentResolver().query(
Uri.parse("content://call_log/calls"),
projection,
selection,
selectionArgs,
sortOrder);
while (cursor.moveToNext()) {
String callLogID = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls._ID));
String callNumber = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.NUMBER));
String callDate = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.DATE));
String callType = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.TYPE));
String isCallNew = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.NEW));
if(Integer.parseInt(callType) == MISSED_CALL_TYPE && Integer.parseInt(isCallNew) > 0){
if (_debug) Log.v("Missed Call Found: " + callNumber);
}
}
}catch(Exception ex){
if (_debug) Log.e("ERROR: " + ex.toString());
}finally{
cursor.close();
}
Tôi hy vọng bạn thấy điều này hữu ích.
Nguồn
2011-08-25 16:51:25
MISSED_CALL_TYPE được khai báo như thế nào? – erdomester
MISSED_CALL_TYPE = android.provider.CallLog.Calls.MISSED_TYPE; - Xin lỗi vì đã bỏ phần đó ra. –
Cảm ơn! Tôi không thể sử dụng nó sau đó vì vậy tôi phát hiện ra rằng có 2 cách cho các loại cuộc gọi: 1. khai báo nó như là một số nguyên: int typeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE) ;, sau đó int callType = c.getInt (typeColumn); và sau tất cả, ví dụ: nếu calltype == 1 thì .....2: sử dụng int outgoingtypeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE + "= '2'"); vv Hy vọng điều này sẽ giúp người khác! – erdomester