3

電話番号に電話をかけている間、バックグラウンドで正確な位置 (できるだけ正確) を取得する必要があります (電話はアプリから行われます)。ドキュメントから理解する限り、バックグラウンドで場所の大幅な変更を聞くことができます。重要なアップデートがどれほど正確で、いつトリガーされるのか疑問に思っています。

緊急通報なので発信場所が必要です。また、フォアグラウンドで位置情報を聞いてから電話をかけるのはお勧めできません。これは緊急事態になるためです。電話はすぐにかけられます。

バックグラウンドでユーザーの正確な位置を取得するソリューションはありますか? おすすめは何ですか?

編集:場所はすぐにサーバーに送信されます。

4

2 に答える 2

0

精度に関しては、次の条件下でバックグラウンドで正確な位置を取得できます。

バックグラウンドでの位置情報イベントの取得

アプリケーションがフォアグラウンドにあるかバックグラウンドにあるかにかかわらず、アプリケーションが位置情報の更新を配信する必要がある場合は、そのための複数のオプションがあります。推奨されるオプションは、重要な場所の変更サービスを使用して、適切なタイミングでアプリケーションを起動し、新しいイベントを処理することです。ただし、アプリケーションで標準の位置情報サービスを使用する必要がある場合は、アプリケーションがバックグラウンドの位置情報サービスを必要としていると宣言できます。

アプリケーションは、バックグラウンドの位置情報サービスを要求する必要があるのは、それらのサービスが存在しないと動作能力が損なわれる場合のみです。さらに、バックグラウンドの位置情報サービスを要求するアプリケーションは、これらのサービスを使用してユーザーに具体的なメリットを提供する必要があります。たとえば、ターンバイターン方式のナビゲーション アプリケーションは、ユーザーの位置を追跡し、次の方向転換のタイミングを報告する必要があるため、バックグラウンド ロケーション サービスの候補になる可能性があります。

通話中に位置情報を取得することについては、私自身は使用しませんでしたが、「waze」などのナビゲーション アプリは、通話中に方向転換やナビゲーション イベントを通知するので、あなたの質問は可能だと思います。

私があなたのニーズを理解した場合、次の 2 つのオプションがあります。

  1. ユーザーが静的であると思われる場合は、呼び出しが行われる直前にユーザーの場所を取得します。または、アプリが起動して緊急通報を行う場合に最適です。

  2. ユーザーが移動している場合は、バックグラウンドの位置イベントを取得するように「要求」できます。それでも、ユーザーの場所以外は必要ないため、「大幅な変更の場所サービス」の使用を検討する必要があります。標準の「ロケーション サービス」は、ナビゲーションの「ターン バイ ターン」サービスに使用されます。

*最後のコメント *

アプリが緊急アプリの場合は、前のリンクの「バッテリー電力を節約するためのヒント」をお読みください。ユーザーの位置を追跡している間、ユーザーのバッテリーを空にしたくありません。

于 2012-09-03T08:25:40.893 に答える
0

アプリの plist ファイルにそのフラグを追加して、位置情報サービスをバックグラウンド モードで実行するように要求できませんか。

次に、アプリでユーザーが「呼び出し」ボタンを押すと、呼び出しを実行する直前に、通常の CLLocationManager didUpdateToLocation を実行できます。

didUpdateToLocation メソッドでは、アプリケーション サンドボックスの Library/Cache フォルダーに書き込まれた TXT ファイルにユーザーの場所を記録するか、NSUserDefaults を使用できます。

注: 私は、ユーザーがロック画面を押したときでも運転中にユーザーの GPS 位置を記録するアプリを作成しました。ロケーションマネージャーを起動すると。

于 2012-09-03T08:48:07.203 に答える