我有一个提醒应用程序,将在给定时间时通知我从物体,由于它的数组的下一个提醒。访问MainActivity一旦BOOT_COMPLETE收到
我想让它在启动时再次设置通知。
我有我的引导接收器都设置在清单中,但如何从MainActivity访问任何信息,一旦手机已经启动,因为应用程序还没有被打开?
我希望利用这一点 -
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("RegularReminders","onReceive");
new MainActivity().setNotifications();
}
}
但它从通知中曾尝试运行在MainActivity的方法,应用程序崩溃的仿真器启动时返回一个空的错误,我看到这个在logcat中 -
java.lang.RuntimeException: Unable to start receiver com.androidandyuk.regularreminders.BootReceiver: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
这点到线 -
if (reminders.size() >= 0) {
我确实想知道是否可以将通知消息保存到SharedPrefs并在接收方中回调,但是我也收到了空对象引用的错误。
我试着发回另一个广播添加额外的信息,但我猜接收机MainActivity设置为应用程序尚未运行是不听?
我知道谷歌是保护我们免受恶意软件,而不是让他们的书后做多,但没有任何办法解决这让我可以在重新启动后设置我的通知?
谢谢。
如果你打算倒戈,请至少让我知道为什么这样我可以学习。我花了几个小时寻找这个答案,尝试了我在这里发现的一些不同的东西,但没有喜悦,因此我问。我觉得我已经列出了所有的信息,所以请让我知道我做错了什么。谢谢。 – AndyCr15