[Android M]안드로이드 마시멜로에서 권한 접근문제

안드로이드M(이후 M으로 표기함.)으로 업데이가 되면서 권한을 유저가 직접 부여하는 기능이 생겼다.

그런데 기존에 프로젝트는 괜찮았으나 M이후 만든 프로젝트는 권한자동부여가 되지않는것이다.
가장 간단한 해결방법은 안드로이드 xml에서 타겟버전을 22이하로 빌드하면 따로 권한 알람을 띄우지않더라도 자동으로 부여된다.

일단 위의 방법을 꼼수라 치고, 정식으로 처리를 해주는 코드는 아래와 같다. 

if (checkSelfPermission(Manifest.permission.CAMERA)!= 
   PackageManager.PERMISSION_GRANTED) //권한부여 여부를 확인
{
requestPermissions(new String[]{Manifest.permission.CAMERA},
                       BIND_WAIVE_PRIORITY);
//카메라 접근관한 부여 확인창을 띄움
}

그런데 위에서 문제가 checkSelfPermission를 통해서 이미 다시 보지않기를 체크한후 거부를 해버린경우는 이 함수가 아무런 처리도 하지않고 패스되어 버린다는것이다. 

물론 다시 보지않겠다고 체크를 하고 다시 그메세지를 보게되는 유저는 사실 그것도 고통스러운 상황일지도 모르겠으나, 실수로 생각없이 진행후에 다시 돌이키기가 번거로운것이 문제인것이다.



이런 상황에서는 그냥 대분의 개발자들이 선자의 방법을 택할수 밖에 없지않은가? 2015. 11. 18. 16:58

댓글

이 블로그의 인기 게시물

[gpt/gpt와 대화/번역]이미지생성형ai와 인공지능에 대하여

[AI요약/퍼플렉시티]게임산업의 침체와 한국게임업계의 희망

[문화콘텐츠제작] 모바일 앱콘텐츠 UI/UX 디자인-이광훈