Timer / ScheduledExecutorService / Job调度程序无法正常工作

时间:2018-07-18 11:28:59

标签: java android

我需要每60秒调用一次api,且没有任何时间延迟。但是,当设备锁定时,使用Timer,ScheduledExecutorService或Job Scheduler时会跳过几秒钟。我已经尝试了所有情况,但无法解决此问题。

1 个答案:

答案 0 :(得分:0)

您可以通过使用Handler来实现相同的目的,例如下面的演示活动。

public class AnimationActivity extends AppCompatActivity {

    private Handler handler = new Handler();


    Runnable runnable = new Runnable() {
        @Override
        public void run()
        {
            //Do your code here for API call
            handler.postDelayed(runnable,60000);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_animation);

        handler.postDelayed(runnable,60000);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(handler!=null && runnable!=null)
        {
            handler.removeCallbacks(runnable);
        }
    }

}