反应本地局部通知



我是新手反应本机的新手,并且需要在某个时间内每天向用户发送通知的功能。每天要显示的数据存储在客户端的JSON文件中,不会更改。通知按计划进行。鉴于我希望有一种方法可以触发应用程序本身的通知。

有人知道一种实现这一目标的方法,而不必将应用程序从Expo中分离出来?我无法使用" React-Push-Notification"使用React-Native链接,这要求我分离该应用程序。是对的吗?

这是可能的吗?

谢谢:)

您可以使用scheduleLocalNotificationAsync函数在EXPO中执行此操作(请查看这些文档以获取更多详细信息)。确保您有权先发送通知。请注意,如果通知触发了该应用在前景中时,您将不会看到通知,但您仍然可以收听此事件。

i。询问许可

import { Permissions } from 'expo';
// ... somewhere before scheduling notifications ...
const { status } = await Permissions.getAsync(Permissions.NOTIFICATIONS);
if (status !== 'granted') {
  await Permissions.askAsync(Permissions.NOTIFICATIONS);
}

II。安排通知

import { Notifications } from 'expo';
const notification = {
  title: 'Hi there!',
  body: 'Tap me to open the app.',
  android: { sound: true }, // Make a sound on Android
  ios: { sound: true }, // Make a sound on iOS
};
const options = {
  time: Date.now() + 10000, // Schedule it in 10 seconds
  repeat: 'day', // Repeat it daily
};
// ... somewhere after requesting permission ...
const id = Notifications.scheduleLocalNotificationAsync(notification, options)
// If you want to react even when your app is still in the
// foreground, you can listen to the event like this:
Notifications.addListener(() => {
  console.log('triggered!');
});

III。取消计划的通知

您可以使用scheduleLocalNotificationAsync函数的返回ID取消通知。

import { Notifications } from 'expo';
// ... get the id of the scheduled notification ...
Notifications.cancelScheduledNotificationAsync(id)

相关内容

  • 没有找到相关文章

最新更新