@Override
public void onRequestPermissionsResult
(int permsRequestCode,
@NonNull String[] permissions,
@NonNull int[] grandResults) {
if ( permsRequestCode == PERMISSIONS_REQUEST_CODE &&
grandResults.length ==
REQUIRED_PERMISSIONS.length) {
boolean check_result = true;
for (int result : grandResults) {
if (result != PackageManager.
PERMISSION_GRANTED) {
check_result = false;
break;
}
}
if ( check_result ) {
startLocationUpdates();
}
else {
if (ActivityCompat.
shouldShowRequestPermissionRationale
(getActivity(), REQUIRED_PERMISSIONS[0]) || ActivityCompat.
shouldShowRequestPermissionRationale
(getActivity(), REQUIRED_PERMISSIONS[1])) {
Snackbar.make(mLayout, "퍼미션이 거부되었습니다.
앱을 다시 실행하여 퍼미션을 허용해주세요. ", Snackbar.LENGTH_INDEFINITE)
.setAction("확인", new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
}).show();
}else {
Snackbar.make(mLayout, "퍼미션이 거부되었습니다.
설정(앱 정보)에서 퍼미션을 허용해야 합니다. ",
Snackbar.LENGTH_INDEFINITE)
.setAction("확인", new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
}).show();
}
}
}
}