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)以降かどうかでパーミッションの許可が必要かどうかが変わる。

昔のほうが楽だった…。

今はパーミッションの有無をチェックしてから処理をしないといけない。

面倒くさいし、もうちょっとスマートな実装はなかったのか?

だるいわー