0

サービスとブロードキャストレシーバーを使用して、バックグラウンドでサーバーに位置情報の更新を提供するアプリを構築します。位置情報のメソッドを実行するタイマー (X 分ごとに実行) を配置します。問題と質問があります。これのリストがあります。

1.デバイスがスタンバイ モードまたはスリープ モードのときにタイマーがスリープ状態になる

2.ユーザーの最後の場所と現在の場所の距離が500m以上の場合、場所を更新する必要があります.

3.スリープモードに移行するためのデバイスの分数または秒数を知りたいですか?

4.デバイスのスリープモードで停止またはスリープするのではなく、実行中のデバイスモードでタイマーが完全に実行されるのはなぜですか?

私のタイマータスク

     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