LoginSignup
7
2

Androidの権限周りの再整理 ~色々むず過ぎる~

Posted at

はじめに

権限周りがTargetSDKや端末のAPIレベルやらが入り混じって毎回調べるたびに混乱していた。備忘録として残してみる。

通知の権限

TargetSDKが33以上の場合

内容 \ 端末のAPIレベル ~ APIレベル32 APIレベル33 ~
新規インストール デフォルトでアプリからの通知が可能 POST_NOTIFICATIONSの許諾が必要
APILevel33へのアップデート 以前の通知権限が引き継がれる -

TargetSDKが32以下の場合

内容 \ 端末のAPIレベル ~ APIレベル32 APIレベル33 ~
新規インストール デフォルトでアプリからの通知が可能 デフォルトではアプリからの通知が不可
手動で設定画面で許諾をする
APILevel33へのアップデート 以前の通知権限が引き継がれる -

位置情報の権限

内容 \ TargetSDK ~ APIレベル28 APIレベル29 ~
おおよその位置情報を提供。
(精度は約 3 平方キロメートル以内)
ACCESS_COARSE_LOCATIONの許諾をする必要がある 同左
正確な位置情報を提供。
(精度は通常約 50 メートル以内)
ACCESS_FINE_LOCATIONの許諾をする必要がある 同左
バックグラウンドでの位置情報利用 フォアグラウンドの位置情報権限があればバックグラウンドからのアクセスも可能 ACCESS_BACKGROUND_LOCATIONの許諾をする必要がある

ボディセンサーの権限

TargetSDKが33以上の場合

内容 必要な処理
ボディセンサーへのアクセス BODY_SENSORSの許諾が必要
バックグラウンドでのボディーセンサーへのアクセス BODY_SENSORS_BACKGROUNDの許諾が必要

TargetSDKが32以下の場合

内容 必要な処理
ボディセンサーへのアクセス BODY_SENSORSの許諾が必要
バックグラウンドでのボディーセンサーへのアクセス 手動で設定画面で許諾をする

最後に

OS後方互換を考えようとした時に複雑になりがち。他にもまとめる必要のある権限ありそうなので、気づいたら追記します。

参考文献

7
2
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
7
2