ここでは、1 回限りのアクセス許可について次のように説明します。
Android 11 では、アプリが位置情報、マイク、またはカメラに関連するアクセス許可を要求するたびに、ユーザー向けのアクセス許可ダイアログに [今回のみ] というオプションが含まれます (図 1 参照)。ユーザーがダイアログでこのオプションを選択すると、アプリには一時的な 1 回限りのアクセス許可が付与されます。次のいずれかが当てはまる場合にのみ、アプリは関連データにアクセスできます。
ユーザーが 1 回限りのアクセス許可を付与して以来、アプリのアクティビティが表示されています。
ユーザーが許可を与えたときにアプリが表示され、それ以来フォアグラウンド サービスを実行しています。フォアグラウンド サービスが実行されている限り、ユーザーがアプリをバックグラウンドに移動しても、アプリはアクセス許可を保持します。
どちらの条件にも当てはまらない場合は、対象の SDK バージョンに関係なく、ユーザーに再度許可を求める必要があります。
この新機能を試すために、私は次のようにしました。
- フォアグラウンド サービスなしで、カメラを使用するアプリを作成しました。
- プロンプトが表示されたら、アプリに 1 回限りのカメラのアクセス許可を付与しました。
- その後、ホームを押すか、別のアプリを開いてアプリをバックグラウンドに送りました。
これは許可が取り消されることになっているときだと思いましたが、そうではありません。アプリに戻っても、カメラを開くことができます。
では、1 回限りの許可が取り消されるのは正確にはいつでしょうか。どうもありがとう!