Aquí hay un código que puede consultar el registro de llamadas para una llamada perdida. Básicamente, tendrá que desencadenar esto de alguna manera y asegúrese de dar el registro de llamadas en algún momento (unos pocos segundos deberían hacerlo) para escribir la información; de lo contrario, si revisa el registro de llamadas demasiado pronto, no encontrará la llamada más reciente.
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();
}
Espero que le sea útil.
¿Cómo se declara MISSED_CALL_TYPE? – erdomester
MISSED_CALL_TYPE = android.provider.CallLog.Calls.MISSED_TYPE; - Perdón por dejar esa parte. –
Gracias! No pude usarlo entonces descubrí que hay 2 formas para estos tipos de llamadas: 1. declararlo como un entero: int typeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE) ;, int callType = c.getInt (typeColumn); y después de todo, p. si calltype == 1 entonces .....2: use int exitgoingtypeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE + "= '2'"); etc. Espero que esto ayude a otros! – erdomester