常に実行されるプロセスのように、アプリをバックグラウンドで実行したいと考えています。
2 分ごとに GPS の位置情報 (経度、緯度) を更新し、その情報をメソッドで使用するために必要です。
そのためには、電話がスリープ状態のとき、またはアプリの UI にないときにアプリを実行する必要があります。つまり、アプリを常に実行する必要があります。
私はそれを作る方法があると確信しています、とにかく答えてくれてありがとう:)
このようなものがありますが、いくつかの部分で構成されています。
まず、コードを実行 (およびマニフェストに登録) する必要がありますService
また、アクションによって通知され、そのメソッドがサービスを開始するandroid.permission.RECEIVE_BOOT_COMPLETED
を作成して登録できるように、おそらくリクエストすることもできます。BroadcastReceiver
android.intent.action.BOOT_COMPLETED
onReceive
私たちの場合、サービスが実行されていることを確認するためにサービスを突くフロントエンド アクティビティもありますが、これがまだ必要かどうかを確認してからしばらく経ちました。
私たちのサービスはほとんど空で、onCreate
すぐHandler
に「ティック」を管理するカスタムを呼び出します。これは、実行する作業がHandler
ある場合に を起動して起動Runnable
しますが、これは私のコードがあなたのものから分岐している場所です。私たちのケースでは、サービスが「時を刻む」とき (通常は 1 分ごと) にのみ GPS 位置の更新を試み、やるべき作業があります。通常、クライアントごとに 1 日あたり数十の操作しか実行しないため、バッテリーの使用量にどのように影響するかについては、実際にはアドバイスできません.