清除android.database.SQLite中的未接来电错误

清除android.database.SQLite中的未接来电错误,android,calllog,Android,Calllog,我有以下清除遗漏日志的代码: ContentValues values = new ContentValues(); values.put(Calls.NEW, 0); values.put(Calls.IS_READ, 1); StringBuilder where = new StringBuilder(); where.append(Calls.NEW); where.append(" = 1 AND ");

我有以下清除遗漏日志的代码:

ContentValues values = new ContentValues();
        values.put(Calls.NEW, 0);
        values.put(Calls.IS_READ, 1);
        StringBuilder where = new StringBuilder();
        where.append(Calls.NEW);
        where.append(" = 1 AND ");
        where.append(Calls.TYPE);
        where.append(" = ?");

        context.getContentResolver().update(Calls.CONTENT_URI, values, where.toString(),
                new String[]{ Integer.toString(Calls.MISSED_TYPE) });
运行此代码时,我遇到以下异常:

Caused by: android.database.sqlite.SQLiteException: no such column: is_read, while compiling UPDATE logs SET is_read=?, new=? WHERE (new = 1 AND type = ?) AND (logtype = 100 or logtype = 500)
如何解决这个问题?

是在API级别14中引入的

仅当设备API大于或等于14时,才应设置此值:

values.put(Calls.NEW, 0);
if (android.os.Build.VERSION.SDK_INT >= 14)
    values.put(Calls.IS_READ, 1);

谢谢你的重播。我的代码不再崩溃,但我仍然有一个问题。在android手机的通知栏中,我仍然有未接来电图标。你能告诉我怎么解决这个问题吗?对不起,我帮不了你。我想说这是另一个问题,你可能应该发布一个新问题。我发布了一个新问题: