繁体   English   中英

如何使用uriSMSURI从收件箱中提取未读邮件?

[英]How to pick up unread messages from inbox using uriSMSURI?

我的代码在这里

Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);

要获取我正在使用的消息

 while (cur.moveToNext()) {
          sms +=cur.getString(2) + " : " +
          cur.getString(13).replace("  "," ") + " : " +cur.getString(14) +"\n\n\n";

    }

在上面的cur.getString(int id)中,第二个索引是发件人,第13个索引是消息,第14个是号码。 我对未读邮件感到困惑。

这里

https://developer.android.com/reference/android/provider/Telephony.TextBasedSmsColumns.html

是所有列的描述。 您需要“读取”列。 如果它为零-这是未读的消息。

如何使用:

ContentResolver cr = getContentResolver();
Uri inboxURI = Uri.parse("content://sms/");
Cursor c = cr.query(inboxURI, null, null, null, null);
if (c!=null) {
    int columnAddress   = c.getColumnIndex("address");
    int columnBody      = c.getColumnIndex("body");
    int columnRead      = c.getColumnIndex("read");

    while (c.moveToNext()) {
        String smsFrom = c.getString(columnAddress);
        String smsBody = c.getString(columnBody);
        int smsRead = c.getInt(columnRead);
        if (smsRead == 0) {
        // message unread
        } else {
        // message read
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM