Android M & Lollipop - 将未接来电标记为已读

Android M & Lollipop - Mark missed call as read

我在启动我的应用程序后使用以下代码清除未接来电。在此我得到受影响的行是 1。但是当我接到下一个未接来电时,当时 android 的股票 phone 应用程序添加了一个新通知作为“2 个新未接来电”。意味着他们不算我清楚。我错过了什么吗?

注意:如果我启动股票 phone 应用程序一次,计数器将再次重置为 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;

}

我遇到了同样的问题。这里有一个类似的问题:

我开始认为(如该线程中所述)实现该目标的唯一方法是打开股票调用日志(我希望我错了,但找不到其他任何东西)。