0

我构建了应用程序,它使用服务和广播接收器在后台向服务器提供位置更新。我放置了运行位置方法的计时器(每 X 分钟运行一次)。它包括获取纬度、经度和使用 API 调用更新到服务器。我有一个问题和疑问。有一个清单。

1.当设备处于待机模式或睡眠模式时,我的计时器进入睡眠状态

2.如果用户上次位置和当前位置距离 500 米或更大,我必须更新位置。

3.我想知道多少分钟或秒的设备进入睡眠模式?

4.我的计时器在运行 devoce 模式下运行比为什么在设备睡眠模式下停止或睡眠更好?

我的计时器任务

     class TimeDisplayTimerTask extends TimerTask {

            @Override
            public void run() {
                // run on another thread
                mHandler.post(new Runnable() {

                    @Override
                    public void run() {
                        location();
                        notifyUser2();

                        Log.d("timeeeeeeee22222222", "time22222222");
                        // display toast

                    }

                });
            }

//in  oncreate
  if (mTimer != null) {
            mTimer.cancel();
        } else {
            // recreate new
            mTimer = new Timer();
        }
        // schedule task
        mTimer.scheduleAtFixedRate(new TimeDisplayTimerTask(), 0, NOTIFY_INTERVAL);

计时器运行的正确方法是什么?如果是,那么为什么它在设备处于待机模式或睡眠模式时睡眠?

帮帮我,我搜索了很多网站,但无法得到它。提前致谢

4

0 回答 0