- 목표 : Push 알림을 위한 권한을 유저가 허가 하지 않았을 경우, 특정 이벤트시 알림설정으로 가기 위한 버튼을 생성하기
1. 권한 확인
import { RESULTS, requestNotifications } from 'react-native-permissions';
export const ALLOWED_PERMISSIONS = {
[RESULTS.GRANTED]: true,
[RESULTS.LIMITED]: true,
[RESULTS.UNAVAILABLE]: true,
[RESULTS.BLOCKED]: false,
[RESULTS.DENIED]: false,
};
export const requestNotificationPermission = async () => {
const { status } = await requestNotifications(['alert']);
return ALLOWED_PERMISSIONS[status];
};
2. 확인한 권한을 바탕으로 이동하기 모달 띄우기
const onPressAlarmSettingSwitch = useCallback(async () => {
const result = await requestNotificationPermission();
if (!result) {
setIsVisibleConfirmModal(true);
return;
}
if (isAlarmSettingOn) {
setUserAlarmSettings(false);
} else {
setUserAlarmSettings(true);
}
}, [isAlarmSettingOn, setUserAlarmSettings]);
3. 시스템 설정 이동
const onPressMoveSystemSetting = () => {
Linking.openSettings();
};