如何获取android中未读短信的数量?
发布于 2010-09-16 18:00:12
需要执行一个简单的短信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" />
请记住,SMS内容提供程序实际上并不是SDK的一部分,并且不能保证此代码在所有过去、现在和将来的设备上都能工作。
发布于 2013-08-11 02:56:50
我发现的最简单的方法是:
Cursor c = getContentResolver().query(
Uri.parse("content://sms/inbox"),
new String[] {
"count(_id)",
},
"read = 0",
null,
null
);
c.moveToFirst();
int unreadMessagesCount = c.getInt(0);
https://stackoverflow.com/questions/3718687
复制相似问题