Я использую приведенный ниже код для удаления пропущенных вызовов после запуска приложения. В этом случае я получаю затронутые строки: 1. Но когда я получаю следующий пропущенный звонок, в это время приложение для Android-телефона добавляет новое уведомление как «2 новых пропущенных звонка». Значит, они не считают мой ясный. Я что-то упускаю.
Примечание. Если я запускаю стандартное приложение для телефона один раз, счетчик снова сбрасывается на 0.
public boolean markMissedCallsAsRead() {
ContentValues values = new ContentValues();
values.put(CallLog.Calls.NEW, Integer.valueOf(0));
values.put(CallLog.Calls.IS_READ, Integer.valueOf(1));
StringBuilder where = new StringBuilder();
where.append(CallLog.Calls.NEW);
where.append(" = 1 AND ");
//where.append(CallLog.Calls.IS_READ).append(" = 0");
//where.append(" AND ");
where.append(CallLog.Calls.TYPE).append(" = ").append(CallLog.Calls.MISSED_TYPE);
int rows = context.getContentResolver().update(CallLog.Calls.CONTENT_URI, values, where.toString(),
null);
Utilities.writeToLogFile(Constants.LOG_ERROR_LEVEL, "cleared call logs " + rows);
return true;
}