0
中的通話狀態我從Phonestatelistener知道,我們將會知道,通話類型就像它的來電,或者響鈴或者摘下等等。但是一旦通話結束,即一旦電話達到空閒狀態,我想知道什麼是呼叫的狀態,是它摘下來,錯過或拒絕如何知道android
讓我們,91123456789是來電,通話結束後,這個數字將被存儲在手機通話記錄的未接來電,
是有一種方法可以從通話記錄中獲取特定號碼+91123456789的最近狀態,是否有可能?
中的通話狀態我從Phonestatelistener知道,我們將會知道,通話類型就像它的來電,或者響鈴或者摘下等等。但是一旦通話結束,即一旦電話達到空閒狀態,我想知道什麼是呼叫的狀態,是它摘下來,錯過或拒絕如何知道android
讓我們,91123456789是來電,通話結束後,這個數字將被存儲在手機通話記錄的未接來電,
是有一種方法可以從通話記錄中獲取特定號碼+91123456789的最近狀態,是否有可能?
這裏是可以查詢未接電話的通話記錄的代碼。基本上,你將不得不觸發這一點,並確保你給一些時間(幾秒鐘應該這樣做)的通話記錄來寫信息,否則如果你很快檢查通話記錄,你不會找到最近的通話。
int MISSED_CALL_TYPE = android.provider.CallLog.Calls.MISSED_TYPE
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);
cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, CallLog.Calls.NUMBER + "=? ", yourNumber, 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);
break ;
}
}
}catch(Exception ex){
if (_debug) Log.e("ERROR: " + ex.toString());
}finally{
cursor.close();
}
我希望你覺得這個很有用,就像你可以得到其他狀態一樣。
不要在清單 android.permission.READ_CONTACTS添加此權限
你好,謝謝你,我發現這是一個phonestatelistener方式,這項工作做得很好,如果它的一個電話。假設如果我收到了一個電話,並且我收到另一個來電,那將處於等待狀態,我需要知道如何捕獲該等待的電話並檢查它是否未接電話? – Naruto 2014-10-18 19:47:16
多數民衆贊成在這個代碼做什麼,如果你有一個未接來電,那麼你可以查詢calllogs來檢查最近的未接來電是否來自該特定的號碼,正在等待 – 2014-10-18 19:51:00
但正如你所說,手機確實需要一段時間來更新其日誌,所以有時信息不準確的權利? – Naruto 2014-10-18 19:54:18