Samsung a mis en place une gestion propriétaire des journaux de appels.
Pour tester si le terminal est un Samsung :
String man = android.os.Build.MANUFACTURER;
Log.i("ServMANx", man);
if (man.equals("samsung")) {
Pour supprimer les appels :
Uri uriSamsung = Uri.parse("content://logs/historys");
ContentResolver cr = ctx.getContentResolver();
Cursor cur = cr.query(uriSamsung, null, null, null, null);
if (cur != null)
ctx.getContentResolver().delete(uriSamsung, "NUMBER = '" + Number + "'", null);
Pour supprimer les traces de SMS dans le journal :
Cursor SmsLogCursor = ctx.getContentResolver().
query(uriSamsung, null, "logtype=300", null, null);
if (SmsLogCursor.moveToFirst() == true)
do {
int numcol = SmsLogCursor.getColumnIndex("number");
String NumberSms = SmsLogCursor.getString(numcol);
Log.i("SERV SMS", NumberSms + "");
if (DbHelper.isNoSms(dbNumTel, NumberSms) || dpInvis) {
Log.i("Delete-SERV SMS", "" + NumberSms + "");
ContentResolver cr = ctx.getContentResolver();
Cursor cur = cr.query(uriSamsung, null, null, null, null);
if (cur != null)
ctx.getContentResolver().delete(uriSamsung, "NUMBER = '" + NumberSms + "' and logtype=300", null);
}
SmsLogCursor.moveToNext();
} while (!SmsLogCursor.isAfterLast());
SmsLogCursor.close();