当我手动终止应用程序时,服务被终止

时间:2020-02-21 17:11:44

标签: java android service task kill

我正在使用服务通过我的应用收集永久数据。即使该应用被终止,我也需要该服务来继续收集数据。 但是,当我手动终止该应用程序时(从任务管理器中滑动该应用程序),该服务不会重新启动。

这是我的代码:

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>

如果有人有解决方案,请告诉我

0 个答案:

没有答案