권한이 있는지 체크하고 다시 보지 않기를 눌렀을 경우에는 어플 설정창으로 이동 되는 건데요..
실행 다 잘 되고 문제 없다고 생각하는데... 선배가 기본 규칙 같은 거가 잘못됬다고 하는데 ..
뭐가 잘 못 된건가요 ..ㅠ 아무리 생각해봐도 모르겠습니다.
// 특정한 하나의 권한만 허용을 원할때
// permission : 허용을 원하는 권한 이름(android.permission.WRITE_EXTERNAL_STORAGE)
// 접근제어자 수정 및 변수명 규칙 적용
protected boolean checkSystemWritePermission(String permission) {
if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{permission}, MY_PERMISSION_REQUEST_STORAGE);
return false;
}
return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case MY_PERMISSION_REQUEST_STORAGE:
if (grantResults.length > 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[0])) {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
}
break;
}
}