我正在使用Android应用程序显示未接来电:
String[] projection = new String[]{CallLog.Calls.NUMBER,
CallLog.Calls.TYPE,
CallLog.Calls.DURATION,
CallLog.Calls.CACHED_NAME,
CallLog.Calls._ID};
String where = CallLog.Calls.TYPE+"="+CallLog.Calls.MISSED_TYPE+" AND " + CallLog.Calls.NEW + "=1" ;
Cursor c = context.getContentResolver().query(CallLog.Calls.CONTENT_URI,projection,where, null, null);
c.moveToFirst();
if(c.getCount() > 0)
newCountersObj.missedCallCounter=c.getCount();
在我的android列表视图中检查未接来电后,我想将它们标记为在android DB中读取。我怎么能这样做?
使用以下链接问题更新:
答案 0 :(得分:2)
将is_read
标志设置为true。参考:http://developer.android.com/reference/android/provider/CallLog.Calls.html#IS_READ
示例(来自ClearMissedCallsService):
// Clear the list of new missed calls.
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) });