안드로이드는 개인 정보, 센서, 카메라, 저장소 등 개인 정보와 관련된 기능을 사용하기 위해서는 권한을 등록해야 한다.
권한 등록은 사용자가 애플리케이션을 다운로드 받거나 설치 후 애플리케이션 정보에서 확인이 가능하다.
권한 등록의 목적은 사용자에게 애플리케이션이 어떠한 기능을 사용하는지 알려주는 목적으로 사용한다.
권한 등록을 필요로 하는 기능을 사용할 때 권한을 등록하지 않으면 오류가 발생하여 개발자는 반드시 권한을 등록해야 하고 등록된 권한은 사용자에게 고지된다.
안드로이드 6.0 (마시멜로우) 버전 부터 개인 정보와 관련된 권한은 애플리케이션 내부에서 고지하고 사용 허가를 받아야 한다.
권한 사용시 반드시 사용자에게 고지하고 이를 승인 받는 작업이 필요하다.
사용 허가를 받을 필요 없는 권한은 사용 허가를 받은 상태로 처리된다.
이 권한 목록 중에 확인이 불필요하거나 이미 허용되어 있는 권한은 제외한다.
-> 모든 권한에 대해서 사용자에게 허가를 받으라고 코딩을 짜도 자동적으로 안드로이드에서 권한이 필요한 것만 허가 요청을 한다
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
val permissionList = arrayOf(
Manifest.permission.INTERNET,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.READ_CONTACTS,
Manifest.permission.WRITE_CONTACTS,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
)
앱을 처음 시작할 때 필요한 모든 권한을 요청을 한다.
허가 하지 않은 권한을 매 화면 마다 집요하게 물어보지 않고, 화면에 "ooo 허가를 해주세요" 출력해서 귀찮게 계속 요청하는 것이 아닌 사용자에게 알려주도록 한다.