Skip to content

Instantly share code, notes, and snippets.

@VeraZab
Last active February 26, 2023 23:26
Show Gist options
  • Save VeraZab/c3f13d51588bcfdf6799da65decf26fa to your computer and use it in GitHub Desktop.
Save VeraZab/c3f13d51588bcfdf6799da65decf26fa to your computer and use it in GitHub Desktop.
Simple local notification with Expo
import React, {Component} from 'react';
import {TextInput, View, Keyboard} from 'react-native';
import {Constants, Notifications, Permissions} from 'expo';
export default class Timer extends Component {
onSubmit(e) {
Keyboard.dismiss();
const localNotification = {
title: 'done',
body: 'done!'
};
const schedulingOptions = {
time: (new Date()).getTime() + Number(e.nativeEvent.text)
}
// Notifications show only when app is not active.
// (ie. another app being used or device's screen is locked)
Notifications.scheduleLocalNotificationAsync(
localNotification, schedulingOptions
);
}
handleNotification() {
console.warn('ok! got your notif');
}
async componentDidMount() {
// We need to ask for Notification permissions for ios devices
let result = await Permissions.askAsync(Permissions.NOTIFICATIONS);
if (Constants.isDevice && result.status === 'granted') {
console.log('Notification permissions granted.')
}
// If we want to do something with the notification when the app
// is active, we need to listen to notification events and
// handle them in a callback
Notifications.addListener(this.handleNotification);
}
render() {
return (
<View style={{flex: 1, flexDirection: 'row', justifyContent: 'center'}}>
<TextInput
onSubmitEditing={this.onSubmit}
placeholder={'time in ms'}
/>
</View>
);
}
};
@9Dave9
Copy link

9Dave9 commented Aug 20, 2022

I have this exact same issue, the notifications register just fine on a non APK/bundle but the moment I bundle the app.. the scheduleNotificationsAsync function just don't set the notification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment