2011-12-12 44 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