Приложение IntentService stop при запуске службы ()

user1527152 спросил: 13 июня 2018 в 11:37 в: android

Мое приложение выходит из строя при вызове startService(). Проблема в том, что я не получаю сообщение об ошибке в консоли, и поэтому я не знаю, как устранить эту ошибку.

Я ищу способ устранить мою проблему, если у кого-то есть некоторые лидеры. I подумал, может быть, я почему-то не могу запустить сервис из метода onCreate основного действия.

Я запускаю службу из метода onCreate () основной активности:

serviceIntent = new Intent(this, myIntentService.class);
        startService(serviceIntent);

Ниже приведен код, который у меня есть в классе myIntentService:

 public myIntentService(String name) {
        super(name);
    }    @Override
    protected void onHandleIntent(@Nullable Intent intent) {        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // Restore interrupt status.
            Thread.currentThread().interrupt();
        }        Log.v("Info", "Service " + this.getClass().getSimpleName() + " received a request");
        //executeRequest();
    }

Если я прокомментирую startService() отключить приложение без сбоев.

Я использовал этот вопрос , чтобы проверить, работает ли моя служба:

Log.v("Info", "Is Service "+ WhichAuthCurrentService.class.getSimpleName() + " running? response: " + isMyServiceRunning(myIntentService.class));

Какие записи в консоли:

Is Service WhichAuthCurrentService running? response: true

Заметки Я не реализую методы, такие как onCreate(), onStartCommand(), nor , и я добавил свою службу в onDestroy().
Все связанные вопросы, которые я нашел, были решены путем правильной перезаписи этого метода или добавления службы в манифест Android.

2 ответа

Есть решение
Ahmed Hegazy ответил: 13 июня 2018 в 12:47

Это происходит потому, что у вас нет конструктора по умолчанию для вашей службы, просто удалите конструктор или добавьте по умолчанию (без параметров), и он будет волшебным образом работать!

Amirhosein ответил: 13 июня 2018 в 04:25
Изменить:
 public myIntentService(String name) {
        super(name);
    }
к
 public myIntentService() {
        super("myIntentService");
    }

Дополнительное видео по вопросу: Приложение IntentService stop при запуске службы ()

IntentService on Android Oreo

How to use Service and Intent Service in Android

Android Tutorial for Beginners 35 # Creating Service Using IntentService