-
안드로이드 6.0 권한 설정 관련안드로이드(이클립스)/막 써 2016. 7. 17. 22:21반응형
Normal and Dangerous Permission URL
https://developer.android.com/guide/topics/security/permissions.html?hl=ko#normal-dangerous
안드로이드 6.0이 되면서 사용자가 권한(Permission)에 관해 유동적으로 설정 할 수 있게 되었습니다.
이 와중 개발자는 사용자에게 권한을 사용할 것인지 사용자에게 물어보게끔 개발을 진행하도록 만들어 졌습니다.
그래도 구글에서는 모든 권한에 대해서 사용자에게 묻게끔 한다면 사용자도 귀찮고 개발자도 피곤한 작업이기에
Normal 한 권한과 Dangerous 한 권한을 분류하여 몇몇의 권한만 묻게 하여 사용 할 수 있게끔 만들어줬습니다.
그에 관한 자세한 사항은 위에 적은 URL로 이동하여 참고하시면 되겠습니다.
아래 목록은 급하신 분들을 위한 위 URL에 정의 되어진 Dangerous Permission and Dangerous Permission Group 목록입니다.
Permission Group Permissions CALENDAR
CAMERA
CONTACTS
LOCATION
MICROPHONE
PHONE
SENSORS
SMS
STORAGE
Permission Developer Guide URL
https://developer.android.com/training/permissions/index.html
Permission Design Guide URL
https://material.google.com/patterns/permissions.html
위 두개의 URL은 Permission 설정에 관해 사용자에게 묻는 개발자 가이드와 디자인 가이드 URL입니다.
자세한 사항은 위에 적은 URL로 이동하여 참고하시면 되겠습니다.
아래 코드는 급하신 분들을 위한 위 URL에 정의 되어진 샘플코드 입니다.
// 앱에 permission이 설정되어 있는지 확인 int permissionCheck = ContextCompat.checkSelfPermission(확인 할 액티비티, Manifest.permission.WRITE_CALENDAR);
// 앱에 permission이 설정되어 있지 않다면
if (ContextCompat.checkSelfPermission(확인 할 액티비티, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(확인 할 액티비티, Manifest.permission.READ_CONTACTS)) { // permission이 필요한 이유를 보여줘야 된다면 // permission이 필요한 이유를 보여주기 } else { // permission이 필요한 이유를 안보여줘도 된다면
// permission 요청하기 ActivityCompat.requestPermissions(확인 할 액티비티, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); } }
// permission 요청 후 결과 처리 @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) { case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // permission을 허용 했다면
// 이 후 할일 } else { // permission을 거부 했다면 // 이 후 할일 }
return;
}
}
}
그런데 말입니다 !
onRequestPermissionsResult() 쪽에서 제가 샘플을 잘 못 이해한건지 모르겠지만
거부와 허용이 반대로 되서 값이 들어와집니다.
이건 추후 확인 후 다시 정리하도록 하겠습니다.
필요하신분들은 반대로 적용해서 사용하시면 될 것 같습니다.
반응형'안드로이드(이클립스) > 막 써' 카테고리의 다른 글
타블랫인지 스마트폰인지 확인하기 (0) 2016.11.15 앱에서 다른 앱 호출하기 (0) 2016.11.11 PreferenceActivity 아이템 layout (2) 2016.06.24 PreferenceActivity background 색상 설정 (0) 2016.06.23 conversion to dalvik format failed with error 1 (2) 2016.06.16