清除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手机的通知栏中,我仍然有未接来电图标。你能告诉我怎么解决这个问题吗?对不起,我帮不了你。我想说这是另一个问题,你可能应该发布一个新问题。我发布了一个新问题: