清未接来电错误android.database.SQLite [英] clear missed calls error in android.database.SQLite

查看:248
本文介绍了清未接来电错误android.database.SQLite的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的code清晰错过日志:

I have the following code for clear missed logs:

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) });

在运行此code,我得到了以下异常:

When running this code I get the following exception:

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)

如何解决此问题?

How to solve this?

推荐答案

Calls.IS_READ 在API级别14中引入的。

Calls.IS_READ was introduced in API level 14.

如果设备API是大于或等于14时,才应设置此值:

You should only set this value if the device API is greater or equal to 14 :

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

这篇关于清未接来电错误android.database.SQLite的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆