1

如何将短信插入收件箱并将其设置为未读?我尝试使用以下代码。

ContentValues values = new ContentValues();
values.put("address", "123456789");
values.put("body", "foo bar");
getContentResolver().insert(Uri.parse("content://sms/sent"), values);

插入正在工作。但我不知道如何将其设置为未读。另外请告诉我短信表列“状态”、“已读”和“已见”的类型是什么?我该如何使用它们?谢谢。

4

2 回答 2

1

使用这个values.put("status", SmsManager.STATUS_ON_ICC_UNREAD);。状态可以是已读/未读/已读之类的任何内容。我一直保持未读状态。

查看消息状态

values.put("read", true);  // As Read

values.put("read", false); // As Un Read
于 2013-08-01T06:07:47.423 回答
1

您可以根据需要将 Telephony.Sms.READ 设置为 0/1(未读/已读)。

如果 messageDirection 是

INCOMING 然后 contentUri = Telephony.Sms.Inbox.CONTENT_URI

OUTGOING = Telephony.Sms.Sent.CONTENT_URI

    ContentValues smsValues = new ContentValues();
    smsValues.put(Telephony.Sms.ADDRESS, phoneNumber);
    smsValues.put(Telephony.Sms.BODY, smsMessage);
    smsValues.put(Telephony.Sms.DATE, System.currentTimeMillis());
    smsValues.put(Telephony.Sms.READ, 0);
    return context.getContentResolver().insert(contentUri, smsValues);
于 2019-12-03T12:10:47.130 回答