Я написал этот код для синхронизации данных с http, требование кода - поддерживать его как минимум один день без перезапуска / открытия приложения.
public class sync extends Service {
@Override
public void onCreate() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// Task
}
}, 0, 10000);
}
}).start();
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
Intent intent = new Intent("com.app.restartSync");
sendBroadcast(intent);
}
@Override
public void onDestroy() {
Intent intent = new Intent("com.app.restartSync");
sendBroadcast(intent);
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public void notifyThis(String title, String message) {
// notification
}
private void restart(){
stopService(new Intent(this, sync.class));
startService(new Intent(this, sync.class));
}
}
К сожалению, esp остановил службу в 5.0+ через несколько часовКак я могу заставить его работать как можно дольше.