Сервис убивается, когда я убиваю приложение вручную - PullRequest
0 голосов
/ 21 февраля 2020

Я использую сервис для сбора постоянных данных с моим приложением. Даже если приложение убито, мне нужен сервис для сбора данных. Но когда я вручную убиваю приложение (из диспетчера задач смахиваю приложение), служба не перезапускается.

Вот мой код:

public class ServiceAlarm extends Service {
private final LocalBinder mBinder = new LocalBinder();


public class LocalBinder extends Binder
{
    public ServiceAlarm getService()
    {
        return ServiceAlarm.this;
    }
}

@Override
public IBinder onBind(Intent intent) {
    return mBinder;
}

@Override
public void onCreate() {
    super.onCreate();

}

@Override
public void onDestroy() {
    super.onDestroy();
    Log.i("CheckLo", "Destroyed");
//NOT WORKING !!! It doesn't restart the service
    Intent intent = new Intent(this, ServiceAlarm.class);
    startService(intent);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    AsyncTask.execute(new Runnable() {
        @Override
        public void run() {
            StartESP();
        }
    });

    return android.app.Service.START_STICKY;
}
public void StartESP()
{
    Thread welcomeThread = new Thread() {
        @Override
        public void run() {
            try {

                super.run();
                sleep(5000);  //Delay of 10 seconds
            } catch (Exception e) {

            } finally {

                //Do some task
                Log.i("CheckLo", "Started");
                StartESP();

            }
        }
    };
    welcomeThread.start();
}

}

Я называю это так:

    Intent intent = new Intent(this, ServiceAlarm.class);
    startService(intent);

и в манифесте:

  <service
        android:name=".Alarm.ServiceAlarm"
        android:stopWithTask="false"
        android:enabled="true">
    </service>

Если кто-нибудь есть решение, пожалуйста, дайте мне знать

...