2011-12-12 50 views
2

我有一个应用程序:Android的 - 意向声明崩溃我的应用程序在启动时

  • 的活动类,允许用户设置多个闹钟。
  • 一个服务类在后台管理这些警报。
  • 接收器类在警报被调用时做某些工作。

一切工作正常。

现在我想在手机启动时自动启动服务。该onBootReceiver收到,但应用程序崩溃(NPE)时,在我的服务类达到该行:

Intent intent = new Intent (MainActivity.getContext(),AReceiver.class); 

我不能使用这个代替MainActivity.getContext()两种。

有什么想法可能造成这种情况?

谢谢:)

回答

1

从您的代码示例,它看起来像被传递到意图时,在MainActivity类没有被初始化。这意味着getContext()方法将返回一个空值,那就是你的错误所在。

您需要从初始化对象中使用getContext()或getApplicationContext()。如果这证明不可能,你可以做一些像this

+0

感谢Mark D,它现在可以工作。 我不得不在链接中使用Rohit Ghatol的方法。 再次感谢,我真的很感激:) – caiser