안녕하세요, 안드로이드 초보 개발자입니다.
마시멜로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으로 해놓았습니다.
혹시 원인이나.. 방법 아시는분 조언 부탁드립니다.
감사합니다.