Я использую сервис для сбора постоянных данных с моим приложением. Даже если приложение убито, мне нужен сервис для сбора данных. Но когда я вручную убиваю приложение (из диспетчера задач смахиваю приложение), служба не перезапускается.
Вот мой код:
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>
Если кто-нибудь есть решение, пожалуйста, дайте мне знать