应用程序终止时的后台获取反应本机Android
Background fetch when app is terminated react-native Android
我已经在互联网上搜索了很长时间,但我在任何地方都找不到合适的文档来实现应用程序终止时(不在后台)后台获取。
我已经按照文档进行操作并像这样实现了它:
useEffect(() => {
BackgroundFetch.configure(
{
forceAlarmManager: true,
enableHeadless: true,
stopOnTerminate: false,
requiredNetworkType: BackgroundFetch.NETWORK_TYPE_ANY,
startOnBoot: true,
},
async (taskId) => {
console.log('[BackgroundFetch] taskId: ', taskId);
PushNotification.localNotificationSchedule({
bigText:
'We will be watering your Plants in few minutes. Please check if your schedule is updated in Device',
subText: 'Background task',
title: 'Watering Plants',
color: '#60ad5e',
message: 'Expand to show more',
actions: ['Okay'],
group: 'group',
date: new Date(Date.now() + 5 * 1000), //Change this to (scheduled time - some minutes) as to notify the user earlier.
});
BackgroundFetch.finish(taskId);
},
);
}, []);
// And with with #scheduleTask
BackgroundFetch.scheduleTask({
taskId: 'com.foo.customtask',
delay: 15000, // milliseconds
forceAlarmManager: true,
periodic: false,
});
所以基本上我想 运行 API 获取并向用户显示推送通知。所以用户有可能从后台删除应用程序(即他终止)。
所以即使应用程序在 ANDROID.
中终止,我也想显示此推送通知
有人能告诉我我做错了什么吗?
Android,您必须使用 firebase 发送推送通知。
我强烈推荐@react-native-firebase 应用程序及其文档。
基本上,安装完成后,代码就是
import messaging from '@react-native-firebase/messaging';
// Register background handler
messaging().setBackgroundMessageHandler(async remoteMessage => {
console.log('Message handled in the background!', remoteMessage);
});
AppRegistry.registerComponent(appName, () => App);
在index.js
查看他们的 Firebase 应用文档
https://rnfirebase.io/
我已经在互联网上搜索了很长时间,但我在任何地方都找不到合适的文档来实现应用程序终止时(不在后台)后台获取。
我已经按照文档进行操作并像这样实现了它:
useEffect(() => {
BackgroundFetch.configure(
{
forceAlarmManager: true,
enableHeadless: true,
stopOnTerminate: false,
requiredNetworkType: BackgroundFetch.NETWORK_TYPE_ANY,
startOnBoot: true,
},
async (taskId) => {
console.log('[BackgroundFetch] taskId: ', taskId);
PushNotification.localNotificationSchedule({
bigText:
'We will be watering your Plants in few minutes. Please check if your schedule is updated in Device',
subText: 'Background task',
title: 'Watering Plants',
color: '#60ad5e',
message: 'Expand to show more',
actions: ['Okay'],
group: 'group',
date: new Date(Date.now() + 5 * 1000), //Change this to (scheduled time - some minutes) as to notify the user earlier.
});
BackgroundFetch.finish(taskId);
},
);
}, []);
// And with with #scheduleTask
BackgroundFetch.scheduleTask({
taskId: 'com.foo.customtask',
delay: 15000, // milliseconds
forceAlarmManager: true,
periodic: false,
});
所以基本上我想 运行 API 获取并向用户显示推送通知。所以用户有可能从后台删除应用程序(即他终止)。 所以即使应用程序在 ANDROID.
中终止,我也想显示此推送通知有人能告诉我我做错了什么吗?
Android,您必须使用 firebase 发送推送通知。 我强烈推荐@react-native-firebase 应用程序及其文档。
基本上,安装完成后,代码就是
import messaging from '@react-native-firebase/messaging';
// Register background handler
messaging().setBackgroundMessageHandler(async remoteMessage => {
console.log('Message handled in the background!', remoteMessage);
});
AppRegistry.registerComponent(appName, () => App);
在index.js
查看他们的 Firebase 应用文档 https://rnfirebase.io/