[Android M] Permissions

Android 2015. 6. 12. 15:02 |

Permissions


Android M은 특정 permission에 대해서는 

설치, 업데이트 시 사용자에게 Permissions에 대해 묻지 않음

해당 권한에 대해서 필요 시, Dialog를 통해 권한을 요구함.



Overview



Declaring Permissions:

Manifest에 필요한 권한을 정의함


Permission Groups:

권한은 그룹단위로 나뉨

예) CONTACTS 권한을 허락 했다면, user의 전화번호와 프로필정보에 대해 읽고 쓸수 있다.


Limited Permissions Granted at Install Time:

PROTECTION_NORMAL에 포함된 permission들은 설치 시, 설치나 update시 권한이 요구된다.

예) Alarm clock, internet권한은  PROTECTION_NORMAL에 포함


User Grants Permissions at Run-Time:

사용자 권한 permission에 대해서는 해당 데이터에 접근 시, dialog를 통해서 승인을 받아야 한다.

예) location, camera, microphone, SMS, contacts, phone, message, calendar, sensor등 


Always Check for Permissions:

최초 permission에 대해 승인이 되어 있지 않다면, 승인 절차를 거쳐야 한다.


Handle Lack of Permissions Gracefully: 

승인 되지 않은 permission부분에 대해서는 깔끔하게 처리되야 한다.


Permissions are Revocable:

유저는 언제든 permission을 해제 할수 있어야 하고, 앱에서는 필요시 다시 요청해야한다.




System apps and signature permissions



PROTECTION_NORMAL

설치 시, 권한 획득 방식 (기존 사용 하던 방식)


PROTECTION_SIGNATURE

실질적으로 사용 시, 권한 획득 방식


Settings  ->   Apps   ->    target app    ->  Permissions 에서 권한 할당 여부 수정 가능



Check if the app has the needed permission


Table 1. Permissions and permission groups.

Permission GroupPermissions
android.permission-group.CALENDAR
  • android.permission.READ_CALENDAR
  • android.permission.WRITE_CALENDAR
android.permission-group.CAMERA
  • android.permission.CAMERA
android.permission-group.CONTACTS
  • android.permission.READ_CONTACTS
  • android.permission.WRITE_CONTACTS
  • android.permission.READ_PROFILE
  • android.permission.WRITE_PROFILE
android.permission-group.LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
android.permission-group.MICROPHONE
  • android.permission.RECORD_AUDIO
android.permission-group.PHONE
  • android.permission.READ_PHONE_STATE
  • android.permission.CALL_PHONE
  • android.permission.READ_CALL_LOG
  • android.permission.WRITE_CALL_LOG
  • com.android.voicemail.permission.ADD_VOICEMAIL
  • android.permission.USE_SIP
  • android.permission.PROCESS_OUTGOING_CALLS
android.permission-group.SENSORS
  • android.permission.BODY_SENSORS
  • android.permission.USE_FINGERPRINT
android.permission-group.SMS
  • android.permission.SEND_SMS
  • android.permission.RECEIVE_SMS
  • android.permission.READ_SMS
  • android.permission.RECEIVE_WAP_PUSH
  • android.permission.RECEIVE_MMS
  • android.permission.READ_CELL_BROADCASTS



Best Practices



1. 필요한 permission만 요청 하라

2. 사용자에게 강요 하지말아라.

3. permission이 필요한 이유를 설명하라.


'Android' 카테고리의 다른 글

안드로이드 P  (0) 2018.04.11
[WakeLock]  (0) 2018.03.27
[Android M] API Overview  (0) 2015.06.11
[Android M] 4K Display Mode  (0) 2015.06.11
[Android M] Camera Features  (0) 2015.06.11
Posted by 소망아기
: