获取未读的短信号码

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

Solutions Collecting From Web of "获取未读的短信号码"

需要对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" /> 

请记住,SMS内容提供商实际上并不是SDK的一部分,并且此代码不能保证适用于所有过去,现在和将来的设备。

我发现最简单的方法:

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