0

位置情報サービスに 1 つの問題があります。常にバックグラウンドで実行し続ける位置情報サービスを持つアプリケーションを 1 つ開発しています。私の位置情報サービスは、ネットワーク プロバイダーの位置情報を 1 分ごとに取得します。

問題は、アプリケーションが閉じられたときです。バックグラウンド サービスは実行されていますが、ロケーション マグナー オブジェクトがNULLになることがあるため、ロケーション アップデートの取得が停止します。

この問題を克服するために、3分間実行されるハンドラーを使用して1つのタイマーを作成し、サービスが実行されており、場所オブジェクトが有効であることを確認し続けます。

しかし、Android OSがロケーションマネージャーオブジェクトをnullにする理由はまだ問題があります。

ロケーションマネージャーオブジェクトを常に実行し続ける方法を誰か提案できますか?

アプリケーションの一部としてそのコードを使用したくないので、アラーム マネージャーを使用するように勧めないでください。

よろしく、

4

1 に答える 1

0

Android アプリケーション オブジェクトが最初に作成され、アプリケーションに関連付けられたどのアクティビティよりも長く存続します。アプリケーション オブジェクトをまだ持っていない場合は、アプリケーション オブジェクトを設定してから、アクティビティの代わりにアプリケーション オブジェクトから場所の更新を管理すると役立つ場合があります。また、呼び出すたびに LocationManager への参照を取得しているようです。代わりに、アプリケーションの初回起動時に LocationManager を取得し、それへの参照をアプリケーション オブジェクトに保存します。Android では、独自の参照を変更して NULL にすることはできません。

于 2013-05-20T08:10:49.900 に答える