마시멜로우 버전에서 권한 얻는 기능을 개발중입니다
앱 특성상 권한을 무조건 얻게 해야합니다
사용자가 권한 팝업창에서 거부를 선택했을때는 다시 권한 팝업창을 보여줘서 허용을 선택할때까지 반복합니다
근데 다시 묻지 않기를 선택했을때도 마찬가지로 다시 권한 팝업창을 보여주게끔 했는데 생각처럼 작동 하지않습니다
"다시 묻지 않기 check" 로그가 계속 찍힙니다 팝업창은 안뜨고요
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case MY_PERMISSION_REQUEST_CODE :
if (grantResults.length > 0) {
for (int i = 0; i < grantResults.length; i++) {
boolean result = grantResults[i] == PackageManager.PERMISSION_GRANTED;
if (!result) {
/**
* 처음권한 요청시 false 리턴
* 즉 사용자가 [다시 묻지 않기]를 체크하지 않고, 1번이상 권한요청에 대해 거부한 경우에만 true를 리턴함
*/
if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, permissions[i])) {
Log.d(TAG, "무조건 권한 허용 해야합니다.");
ActivityCompat.requestPermissions(MainActivity.this, permissions, MY_PERMISSION_REQUEST_CODE);
} else {
Log.d(TAG, "다시 묻지 않기 check");
ActivityCompat.requestPermissions(MainActivity.this, permissions, MY_PERMISSION_REQUEST_CODE);
}
}
}
}
break;
}
}
답변 부탁드려요 ㅠ