Android M & Lollipop - Отметьте пропущенный вызов как прочитанный

Я использую приведенный ниже код для удаления пропущенных вызовов после запуска приложения. В этом случае я получаю затронутые строки: 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;

}



Ответы (1)


У меня такая же проблема. Здесь есть аналогичный вопрос: https://stackoverflow.com/a/26564121/6433463

Я начинаю думать (как указано в этой ветке), что единственный способ добиться этого - открыть журнал вызовов акций (надеюсь, я ошибаюсь, но ничего другого не нашел).

person zevele    schedule 01.10.2016
comment
Да, даже я смотрел эту ветку. вот как я это исправляю. Но на некоторых телефонах это выглядит странно (проблема с миганием / миганием пользовательского интерфейса). Но пока работает. - person Aram; 01.10.2016