Android - Объявление о намерении вылетать из приложения при загрузке - PullRequest
2 голосов
/ 12 декабря 2011

У меня есть приложение с:

  • класс активности, который позволяет пользователю устанавливать несколько будильников.
  • класс обслуживания для управления этими тревогами в фоновом режиме.
  • класс приемника для выполнения определенной работы при вызове будильника.

Все отлично работает.

Теперь я хочу автоматически запустить службу при загрузке телефона. OnBootReceiver получен, но приложение падает (NPE) при достижении этой строки в моем классе обслуживания:

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

Я не могу использовать this вместо MainActivity.getContext ().

Есть идеи, что может быть причиной этого?

Спасибо:)

1 Ответ

1 голос
/ 12 декабря 2011

Из вашего примера кода похоже, что класс MainActivity не инициализируется при передаче в Intent. Это означает, что метод getContext () вернет нулевое значение, и именно здесь ваша ошибка.

Вам необходимо использовать getContext () или getApplicationContext () из инициализированного объекта. Если это окажется невозможным, вы можете сделать что-то вроде this .

...