[英]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.