Сервис не получает намерения / дополнительные услуги - PullRequest
2 голосов
/ 18 ноября 2011

Я просто не могу понять, что здесь не так.

Activity.java:

...
Intent intent = new Intent(Activity.this, Service.class);
intent.putExtra(Service.KEY_TEST, "123456789");
startService(intent);
...

Service.java:

...
private Intent intent;
public static final String KEY_TEST;

@Override
public void onCreate() {
    super.onCreate();
    Log.d("TEST", intent.getStringExtra(KEY_TEST)); // when I remove this line,
    // it works, otherwise gives NullPointerException and FC's
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    this.intent = intent;
    return START_STICKY;
}
...

Служба явно не получает статистику, отправляемую из Действия. Когда я пытаюсь получить какие-либо дополнения, которые я отправлял раньше, приложение закрывается, и LogCat выдает исключение NullPointerException. Когда я удаляю строку, в которой я пытаюсь получить дополнения, приложение не закрывается принудительно, но я тоже не получаю дополнений.

Ответы [ 2 ]

5 голосов
/ 18 ноября 2011

поставить эту строку Log.d("TEST", intent.getStringExtra(KEY_TEST)); in,

onStartCommand(Intent intent, int flags, int startId) метод ..

РЕДАКТИРОВАТЬ:

Для получения дополнительной информации, как срок службыследует цикл, посмотрите на этот срок службы службы .

0 голосов
/ 07 марта 2018

onStartCommand () происходит после метода onCreate ().

...