@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
;
}
}