마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

마시멜로OS 런타임퍼미션 콜백이 안옵니다 ㅠㅠ

0 추천
안녕하세요, 안드로이드 초보 개발자입니다.

마시멜로OS(api level 23, android 6.0)에 맞춰서 런타임 퍼미션 구현을 배우고 있습니다.

예제대로 따라 했는데... onRequestPermissionsResult가 호출되지 않습니다. ㅠㅠ

예제 그대로 따라했고.. 되게 짧은 코드인데.. 왜 호출이 안되는지 모르겠습니다.

 

메인액티비티의 oncreate에 다음과 같이 코드를 구성하였습니다.

if (checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_CODE);
return;
}

 

 

그리고 onRequestPermissionsResult를 오버라이드 해놓았습니다.

@Override
    public void onRequestPermissionsResult(int requestCode,String[] permissions, int[] grantResults) {
        Log.e(LOG_TAG,requestCode+" onRequestPermissionsResult : "+ permissions.length);
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

}

 

 

앱을 실행하면 정상적으로 주소록 권한 승인해달라고 뜹니다.

허용, 거부 버튼을 눌러도 콜백이 호출되지 않습니다.

거부 누르고 다시 실행하면 '다시보지않기' 체크박스가 있는데..

이거 누르고 거부 해도 콜백이 호출안됩니다 ㅠ

 

설정에서 빌드타겟 6.0으로 지정해놓았구요.

매니페스트에서도 타겟sdk버전 23으로 해놓았습니다.

 

혹시 원인이나.. 방법 아시는분 조언 부탁드립니다.

감사합니다.
블랙이요블랙 (12,860 포인트) 님이 2015년 9월 2일 질문

1개의 답변

+1 추천
 
채택된 답변
android 사이트에있는 예제 코드는 제대로 동작하는지 테스트해보세요.

이것도 제대로 동작하지 않으면 다른 오류가 있는 것입니다.
익명사용자 님이 2015년 9월 3일 답변
블랙이요블랙님이 2015년 9월 3일 채택됨
답변 감사합니다.
확인해보니 onResume에 테스트로 넣어 놓은 코드가 문제가 되었네요.
...