如何在Android上将所有短信标记为已读?

时间:2015-11-12 17:52:23

标签: java android sms inbox

当我打开收件箱时,我正在尝试将所有短信标记为已读。我已经将一些教程中的代码拼凑在一起,最后得到了这个:

 Uri uri = Uri.parse("content://sms/inbox");
     Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    while (cursor.moveToNext()) {
        if ((cursor.getInt(cursor.getColumnIndex("read")) == 0)) {
                String SmsMessageId = cursor.getString(cursor.getColumnIndex("_id"));
                ContentValues values = new ContentValues();
                values.put("read", true);
                getContentResolver().update(Uri.parse("content://sms/inbox"), values, "read=0", null);
            }

我只想在此活动的onResume()函数中将所有文本消息标记为已读。我的代码可能是一堆废话,就像我说它从几个地方捣碎在一起。我的代码的更正或替代将非常感激。使用sdk for 5.1编译代码,在4.4上测试,我的应用程序是默认的SMS应用程序。

1 个答案:

答案 0 :(得分:-1)

如果您想将所有邮件标记为已读,则可以一次性完成。

ContentValues values = new ContentValues();
values.put(Telephony.Sms.READ, 1);
getContentResolver().update(Telephony.Sms.Inbox.CONTENT_URI, 
    values, Telephony.Sms.READ + "=0", null);