postDelayed() in a Service

前端 未结 3 395
我寻月下人不归
我寻月下人不归 2021-01-12 17:36

I\'m trying to restart service from itself in a few time. My code looks like this (inside the onStartCommand(...))

Looper.prepare();
Handler han         


        
3条回答
  •  盖世英雄少女心
    2021-01-12 18:17

    I would declare the Handler variable at the Service level, not locally in the onStartCommand, like:

    public class NLService extends NotificationListenerService {
        Handler handler = new Handler(); 
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            handler.postDelayed(new Runnable() {....} , 60000);
        }
    

    And the service has its own loop, so you do not need Looper.prepare();

提交回复
热议问题