我知道这类问题已经被问到,但没有一个问题有效。 我有一个广播接收器,我在一个服务中注册了一个小时或更长时间,但是在一段时间后没有收到任何东西。对于进一步的信息,触发接收器的服务总是在运行。
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
this.mBroadcastReceiver = new MyBroadcastReceiver();
registerReceiver(this.mBroadcastReceiver, filter);
请帮助。
答案 0 :(得分:1)
我也有同样的问题终于得到了解决方案。 可能是您正在开始接收意图广播的活动,并且您可能使用的活动意图包含getApplicationContext(),因此当您的应用程序根本没有运行时,getApplicationContext()将返回null并且它将使您的接收器崩溃,因此您应该使用onReceive方法中接收的相同上下文。 这只是一个猜测,我希望它可以帮助你。