アプリの権限をリクエストする場合に、複数同時にリクエストする必要があるケースがあります
Android Studio
2021.2.1
2021.2.1
RequestMultiplePermissions
1 つの権限だけをリクエストするには、RequestPermission を使用しますが
複数の権限を同時にリクエストするには、RequestMultiplePermissions を使用します
複数の権限でも別々の機能である場合は、必要な場面でリクエストすればいいのですが、例えばカメラ撮影の場合、撮影場所の位置情報を同時に取得して画像ファイルに埋め込みます(EXIF規格)そういったケースで位置情報取得の権限とカメラ権限を同時にリクエストすることになります
複数のパーミッションを扱う
複数のパーミッションを扱うには、配列あるいはArrayとして例えばPERMISSIONS[]を作り ます
checkSelfPermissionをforで権限の数だけ繰り返します
RequestMultiplePermissions
にてユーザーに権限のリクエストを行う
サンプルコード
こちらのサンプルコード(1)に追加してカメラ撮影の権限をリクエストしてみます(実際にはカメラは扱いません)
位置情報といえばGPSと思う人が多いとは思いますが、スマホでの位置情報はGPS以外にWiFiや電話網を駆使して短時間で効率の良い情報を取得で...
AndroidManifest.xml
MainActivity.java
レイアウトです
activity_main.xml
strings.xml
build.gradle
activity_main.xml
strings.xml
build.gradle
関連記事:
- FusedLocationProviderClient による位置情報取得
- 複数の権限をリクエストする
- FusedLocationProvider とGoogle Mapで地図を表示
- GPSでの位置情報
- アプリの権限、位置情報をリクエストする実装
References:
アプリの権限をリクエストする
直近の位置情報を取得する – Android Developers