0

呼び出し元のコンポーネントが可視/アクティブなライフサイクルから移動したときに、LocationManager の requestLocationUpdates (PendingIntent を使用) がどのように機能するかを理解しようとしています。removeUpdates を使用してインテントをキャンセルする方法を知っています。また、UI を台無しにしないようにワーカー スレッドを作成できることから、アプリケーションのメイン スレッドでサービス、ブロードキャスト レシーバー、およびアクティビティがすべて開始される方法に関するすべてのドキュメントを読みました。しかし、API が定期的にインテントを送信する requestLocationUpdates のような呼び出しになると、呼び出し元のアクティビティが表示されている有効期間を過ぎたときにこの機能に何が起こるかについて、非常に曖昧になります。たとえば、Activity から (PendingIntent バージョンを使用して) requestLocationUpdates を呼び出すと、私のコードがその PendingIntent に対して removeUpdates を呼び出すことなく、その Activity が OS によって停止された場合、位置更新の PendingIntents の送信が停止しますか? 代わりにアクティビティが一時停止された場合はどうなりますか? アクティビティが表示されている有効期間、またはアクティブな有効期間を過ぎても、場所の更新を続けたい場合は、アクティビティから作成したバックグラウンド スレッドで開始されたサービスから requestLocationUpdates を呼び出す必要がありますか? これに関する明確な説明をいただければ幸いです。アクティビティから作成したバックグラウンド スレッドで開始されたサービスから requestLocationUpdates を呼び出す必要がありますか? これに関する明確な説明をいただければ幸いです。アクティビティから作成したバックグラウンド スレッドで開始されたサービスから requestLocationUpdates を呼び出す必要がありますか? これに関する明確な説明をいただければ幸いです。

4

1 に答える 1

0

Locmanagerをサービス(ポイントの取得&保管)に入れると良いでしょう。ユーザーがマルチタスクを好むか、アプリの使用中に少なくとも一部のユーザーが電話を受けることを常に想定する必要があります。この実装では、インテントに大きく依存することになります。

于 2013-10-24T08:39:56.717 に答える