Voici un code qui peut interroger le journal des appels pour un appel manqué. Fondamentalement, vous devrez déclencher cela en quelque sorte et assurez-vous de donner au journal d'appels un certain temps (quelques secondes devraient le faire) pour écrire les informations sinon si vous consultez le journal des appels trop tôt, vous ne trouverez pas l'appel le plus récent.
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();
}
J'espère que vous trouverez cela utile.
Comment MISSED_CALL_TYPE est-il déclaré? – erdomester
MISSED_CALL_TYPE = android.provider.CallLog.Calls.MISSED_TYPE; - Désolé d'avoir quitté cette partie. –
Merci! Je ne pouvais pas l'utiliser alors j'ai découvert qu'il y a 2 façons pour ces types d'appels: 1. le déclarer comme un entier: int typeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE) ;, puis int callType = c.getInt (typeColumn); et après tout, par ex. si calltype == 1 alors .....2: utilisez int outgoingtypeColumn = c.getColumnIndex (android.provider.CallLog.Calls.TYPE + "= '2'"); etc. J'espère que cela aide les autres! – erdomester