0

私はGPS追跡アプリを書いています。CommonsWare WakefulIntentService と AlarmReceiver を使用して、GPS から場所を修正するスケジュールを設定しています。問題は、 doWakefulWork() メソッドを使用する必要があることです。これは、非同期の非ブロッキング メソッドである同期ブロッキング プロセスで使用することを意図しています。では、LocationListener の onLocationChanged() と doWakefulWork() メソッドの requestLocationUpdates() を使用して GPS 位置を修正するにはどうすればよいでしょうか?

解決済み:

この機能がすでにLocationPollerに実装されていることがわかりました。

4

1 に答える 1

0

CommonsWare WakefulIntentService と AlarmReceiver を使用して、GPS から場所を修正するスケジュールを設定しています。

それではうまくいきません。

では、LocationListener の onLocationChanged() と doWakefulWork() メソッドの requestLocationUpdates() を使用して GPS 位置を修正するにはどうすればよいでしょうか?

理想的には、そうしないでしょう。IntentService同期のもの (たとえば、Web トランザクション、データベース トランザクション) を同期させるように設計されています。非同期のものをさらに非同期にするようには設計されていません (a-asynchronous?)。

この機能がすでにLocationPollerに実装されていることがわかりました。

LocationPoller、フォーク、またはそれから派生したものを使用するかどうかに関係なく、Service本質的に非同期の作業に を使用する方が良い計画です。

于 2012-05-17T10:01:38.007 に答える