LoginSignup
6
9

More than 5 years have passed since last update.

[ReactNative]Androidのpermission周りの制御

Last updated at Posted at 2018-07-26

Androidの権限チェック周りのハンドリング

  • React NativeでAndroidの権限周りについて整理したもの

権限チェックの方法

  • 用途に応じてPermissionsAndroid.check()PermissionsAndroid.request()を使う

PermissionsAndroid.check()

const isAuthorized = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA);
console.log(isAuthorized); // true/false

PermissionsAndroid.request()

  • 権限が付与されていない場合は許可するかどうか選択するプロンプトを出してくれる
  • ユーザの選択パターンは3種類
    • 許可
    • 許可しない
    • 許可しない(今後表示しないにチェック)

prompt.pngprompt2.png

const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA);
console.log(granted); // true/'granted'/'denied'/'never_ask_again'

requestの戻り値の整理

# 初期状態 権限チェックプロンプトの表示 プロンプト選択内容 結果 request()の戻り値
sdk23未満(②以降は23以上) なし - 利用可 true
権限あり なし - 利用可 granted
権限なし あり 許可 利用可 granted
権限なし あり 許可しない 利用不可 denied
権限なし あり 許可しない(今後表示しないにチェック) 利用不可 never_ask_again
権限なし(今後表示しないチェック済み) なし - 利用不可 never_ask_again
6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9