Длительное обслуживание - PullRequest
       21

Длительное обслуживание

0 голосов
/ 11 ноября 2019

Я написал этот код для синхронизации данных с 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+ через несколько часовКак я могу заставить его работать как можно дольше.

...