Я следующий кодНамерение всегда нулевой onStartCommand
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(intent != null) {
Log.i("INTENT", intent.getAction().toString());
}
return START_STICKY;
}
, но он всегда возвращается NullPointerException
на линии:
Log.i("INTENT", intent.getAction().toString());
Почему? Я проверяю выше, если переменная «намерение» не равна нулю. Если это так, выполните следующий код. Но у меня все еще было исключение nullpointer.
служба запускается от деятельности так:
startService(new Intent(this, MainService.class));
Что я делаю неправильно?
Возможно getAction() возвращает нуль. Попробуйте проверить его в строке. Что-то вроде 'String s = intent.getAction(). ToString();' и проверить, является ли его нулевым или нет. – Wamasa
Потому что у меня также есть трансляция, которая запускает эту услугу, и я хотел бы различать начатую службу или службу, запущенную с трансляцией. –
@Wamasa Я пробовал. Он по-прежнему возвращает исключение nullpointer. Если я удалю getAction(), сервис начнется нормально. Wtf? –