我目前正在制作一个动态壁纸,它需要跟踪未读短信的数量。收到短信后,我会像这样更新 SMSCount:
@Override
public void onReceive(Context context, Intent intent) {
final Uri SMS_INBOX = Uri.parse("content://sms/inbox");
Cursor c = context.getContentResolver().query(SMS_INBOX,
null,
"read = 0",
null,
null);
mSMSCount = c.getCount();
c.close();
}
哪个工作正常。但是,只有在收到消息时才会更新该值,因此在此之前它会给出不正确的值(SMSCounts 初始化值)。因此,要将 SMSCount 初始化为正确的值,我必须使用上面的代码对其进行初始化。问题是它需要一个上下文。当我尝试将应用程序上下文传递给广播接收器的构造函数时,我得到一个“无空构造函数”异常。