どれが Runtime Permission なのか分かりづらい
Android の開発において最も面倒なのが Runtime Permission だ。
得に Dangerous パーミッション。
Dangerous パーミッション
システム パーミッション | Android Developers
アプリが Dangerous パーミッションが必要性であると宣言している場合、ユーザーはアプリに明示的にパーミッションを付与しなければなりません。
一覧
| パーミッション グループ | パーミッション |
|---|---|
| CALENDAR | ・READ_CALENDAR ・WRITE_CALENDAR |
| CAMERA | ・CAMERA |
| CONTACTS | ・READ_CONTACTS ・WRITE_CONTACTS ・GET_ACCOUNTS |
| LOCATION | ・ACCESS_FINE_LOCATION ・ACCESS_COARSE_LOCATION |
| MICROPHONE | ・RECORD_AUDIO |
| PHONE | ・READ_PHONE_STATE ・CALL_PHONE ・READ_CALL_LOG ・WRITE_CALL_LOG ・ADD_VOICEMAIL ・USE_SIP ・PROCESS_OUTGOING_CALLS |
| SENSORS | ・BODY_SENSORS |
| SMS | ・SEND_SMS ・RECEIVE_SMS ・READ_SMS ・RECEIVE_WAP_PUSH ・RECEIVE_MMS |
| STORAGE | ・READ_EXTERNAL_STORAGE ・WRITE_EXTERNAL_STORAGE |
カレンダー・カメラ・連絡先・位置情報・マイクオーディオ・電話・センサー・SMS・ストレージ
何をやるにしてもパーミッションが必要なのだ。
特にストレージでな。
OSで差がある
Android 6.0(API レベル 23)以降かどうかでパーミッションの許可が必要かどうかが変わる。
昔のほうが楽だった…。
今はパーミッションの有無をチェックしてから処理をしないといけない。
面倒くさいし、もうちょっとスマートな実装はなかったのか?
だるいわー