Android 11 での位置情報に関する更新

ユーザーのプライバシーをさらに保護するために、Android 11 では位置情報への 1 回限りのアクセスが追加され、ユーザーがバックグラウンドでの位置情報アクセスを許可する方法が変更されています。この更新は、Android 11 以降で実行されるすべてのアプリに影響があります。

1 回限りのアクセス

図 1. フォアグラウンド位置情報へのアクセスを許可するシステム ダイアログには、[今回のみ] というオプションがあります。

Android 11 以降では、アプリがフォアグラウンド位置情報へのアクセスをリクエストするたびに、図 1 に示すように、システム権限ダイアログに [今回のみ] というオプションが表示されます。このオプションを使用すると、アプリが位置情報にアクセスできるタイミングをより細かく管理できるようになります。

詳しくは、1 回だけのアクセス許可の扱いに関する記事をご覧ください。

バックグラウンドでの位置情報へのアクセス

Android 11 では、アプリの機能がバックグラウンド位置情報へのアクセス権を取得する方法が変更されています。このセクションではそれぞれの変更について説明します。

アプリ内の機能がバックグラウンドで位置情報にアクセスする場合、そのアクセスが必要かどうかを確認します。バックグラウンドでの位置情報へのアクセス方法のページに記載されているように、その機能が必要とする情報を他の方法で取得することも検討してください。

バックグラウンドでの位置情報を別途リクエストする

実行時に位置情報アクセスをリクエストするに記載されているように、位置情報リクエストを逐次行ってください。Android 11 以降をターゲットとするアプリの場合、システムはこのおすすめの方法を適用します。フォアグラウンドおよびバックグラウンドでの位置情報の利用許可を同時にリクエストすると、システムはリクエストを無視し、アプリにどちらの許可も与えません。

権限ダイアログの変更

変更の詳細

変更の名前: BACKGROUND_RATIONALE_CHANGE_ID

変更 ID: 147316723

切り替え方法

アプリと Android 11 との互換性をテストする際に、以下の ADB コマンドを使用して、この変更をオンまたはオフに切り替えることができます。

adb shell am compat enable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME
adb shell am compat disable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME

互換性フレームワークと変更の切り替えについて詳しくは、アプリでのプラットフォームの動作変更のテストとデバッグをご覧ください。

Android 11 以降を搭載するデバイスにおいて、アプリ内の機能からバックグラウンドで位置情報がリクエストされる場合、バックグラウンドでの位置情報へのアクセスを有効にするボタンがシステム ダイアログに表示されません。バックグラウンドでの位置情報へのアクセスを有効にするには、バックグラウンドでの位置情報のリクエスト方法に関するガイドに記載されているように、設定ページでアプリの位置情報へのアクセスを [常に許可] に設定する必要があります。

参考情報

バックグラウンドでの位置情報へのアクセスについて詳しくは、以下の資料をご覧ください。

動画