Qt Positioning アンドロイド

AndroidのサービスからQt Positioning

サービスからQt Positioning を使用するには、Android のバージョンに応じて、いくつかの特別なアクションを実行する必要があります。以下のセクションで、これらのアクションの詳細を説明します。

注: Android 8(APIレベル26)以降、OSはアプリケーションがバックグラウンドで実行中にユーザーの現在位置を取得できる頻度を制限しています。通常、アプリケーションは1時間に数回しか位置情報の更新を受け取ることができません。詳細については、バックグラウンドでの位置情報の制限を参照してください。

フォアグラウンドサービスの使用

Android 8(APIレベル26)以降、アプリケーションがバックグラウンドに移行すると、Android OSによってバックグラウンドサービスが強制終了されます。これは通常、バックグラウンドで実行してから約1分後に発生します。位置情報サービスを実行し続けるには、サービスをフォアグラウンド・サービスとして実装する必要があります。このようなサービスはステータスバーに通知を表示し、サービスが停止されるかフォアグラウンドから削除されるまで、通知を解除することはできません。これにより、ユーザーは重要なバックグラウンド活動を常に認識することができる。

注意: Android 9(APIレベル28)以降、フォアグラウンド・サービスには特別なパーミッション(FOREGROUND_SERVICE )が必要です。フォアグラウンド・サービスの実装の詳細については、Androidのドキュメントを参照してください。

バックグラウンド位置情報パーミッションの使用

Android 10(APIレベル29)以降、サービスはACCESS_BACKGROUND_LOCATIONパーミッションを要求する必要があります。以下のように、AndroidManifest.xml ファイルに追加する必要があります:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

注意: 一旦パーミッションがAndroidManifest.xml に追加されると、アプリケーショ ンのロケーション・サービスへの常時アクセスを明示的に許可する必要がある。これを行うには、Settings ->Apps に移動し、適切なアプリケーションを選択し、そのパーミッションを開き、Location のAllow all the time パーミッションを指定する必要があります(以下のスクリーンショットを参照)。

詳細については、BackgroundAndroidドキュメントのAccess Locationを参照してください。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.