如何获取未读短信数量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我怎样才能得到在android中未读短信的数量?

提问于
用户回答回答于

需要对SMS ContentProvider执行一个简单的查询。下面是一个有用的例子:

final Uri SMS_INBOX = Uri.parse("content://sms/inbox");

Cursor c = getContentResolver().query(SMS_INBOX, null, "read = 0", null, null);
int unreadMessagesCount = c.getCount();
c.deactivate();

你还需要READ_SMS许可:

<uses-permission android:name="android.permission.READ_SMS" />

用户回答回答于

我发现最简单的方法:

Cursor c = getContentResolver().query(
    Uri.parse("content://sms/inbox"),
    new String[] {
        "count(_id)",
    },
    "read = 0",
    null,
    null
);
c.moveToFirst();
int unreadMessagesCount = c.getInt(0);

扫码关注云+社区