1

アプリケーションで次のロジックを実行する必要があります。毎分、GPS位置を20秒間リッスンして、GEO位置の修正を取得できるようにします。

これは明らかに、UIスレッドとは異なるスレッドを実行する必要があります。

しかし、私はルーパーとタイマータスクを組み合わせて使用​​することにいくつかの問題があります...

これを達成するための最良の方法は何ですか?

4

1 に答える 1

1

私はあなたがサービスを使用する必要があると思います:

Androidドキュメント:

サービスは、ユーザーと対話せずに長時間実行される操作を実行したい、または他のアプリケーションが使用する機能を提供したいというアプリケーションの要望を表すアプリケーションコンポーネントです。

したがって、サービスはrequestLocationUpdates()を使用してLocationManagerを開始し、 LocationListenerを実装します。

次に、(少なくとも)2つの解決策があります(何をしたいかによって異なります):

  • ロケーションを使用する必要があるアクティビティにイベントをディスパッチします(たとえば、ブロードキャストを使用)
  • アクティビティはサービスにアクセスでき、ゲッターを使用して最新の場所を取得します。
于 2012-04-02T07:34:00.557 に答える