Когда приложение закрывается, служба убивает Os. Как этого избежать? - PullRequest
0 голосов
/ 29 июня 2018

Мой сервис отключается ОС, когда я убиваю приложение, которое мне не нужно. Я хочу запустить фоновый сервис для какой-то работы. Пожалуйста, объясните мне, как я могу это сделать.

Вот код класса обслуживания:

public class MyThreadClass extends Service {
    Handler handler;
    Runnable runnable;
    private static final String TAG = "MyThreadClass";
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;

    }


    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        handler=new Handler();
      runnable=new Runnable() {
       @Override
       public void run() {
           Log.d(TAG, "run: Runnging in Background");
           handler.postDelayed(this,1000);
       }
   };
   handler.postDelayed(runnable,1000);
   return START_STICKY;

    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy: Called");
        //handler.removeCallbacks(runnable);
    }
}

декларация манифеста:

<service android:name=".MyThreadClass"></service>

, пожалуйста, подскажите, как мне правильно запустить свой сервис в фоновом режиме, спасибо.

1 Ответ

0 голосов
/ 29 июня 2018

Вы можете использовать CountDownTimer, ниже приведен код для того же, надеюсь, это поможет.

public class MyThreadClass extends Service {
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        CountDownTimer countDownTimer = new CountDownTimer(5000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                //calls after every 500ms
                // do something
            }

            @Override
            public void onFinish() {
                //calls after finishtime 5000ms
                //do something
            }
        };
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy: Called");

    }
}
...