android - 在 React Native 应用程序中接收数据通知时未触发“RNFirebaseBackgroundMessage”事件
问题描述
我正在使用 react-native-firebase@5.2.3。我创建了一个无头任务来接收数据通知,并且我的服务器正在向我发送数据通知,但它没有反映在我的应用程序中,尽管我为此创建了事件。它在 android < v7 中运行良好。但不适用于 android 版本 > v7。
我在控制台中没有收到任何内容,而服务器已向我发送了仅数据通知。一旦执行无头任务的回调,我将在此处编码以显示通知,但没有事件触发。
环境 :
OS: Ubuntu
"react": "16.6.3",
"react-native": "^0.58.6",
"react-native-firebase": "^5.2.3",
我的代码如下。
import {AppRegistry} from 'react-native';
import 'babel-polyfill';
import App from './App';
import {name as appName} from './app.json';
console.disableYellowBox = true;
const bgMessaging = async(messages) => {
console.log("BgMessaging",messages);
return Promise.resolve();
};
AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => bgMessaging);
AppRegistry.registerComponent(appName, () => App);
解决方案
我得到了解决方案。 当您的应用程序设置为以优化方式使用电池时,它不允许执行无头任务,因此,只需将应用程序的电池设置更改为正常模式,它就可以正常工作了。我的 android 设备设置为在电池优化中使用所有应用程序。这就是我遇到这个问题的原因。
推荐阅读
- python - 如何检查包含 6 个项目的列表中是否有 3 个或 4 个或 5 个连续数字?
- amazon-web-services - 如何修复提供程序 provider.aws 不支持数据源
- django-models - django latest() 按模板中的列表
- javascript - 如果我没有时间戳,AJAX 长轮询的最佳实践
- notepad++ - 在记事本++中使用正则表达式时卡住了
- python - Django 错误:/trade/confirm/ 处的 TemplateDoesNotExist
- python - 从现有列创建新列
- python - 如何编写函数计算python中未绑定数据集的运行平均值?
- aframe - 如何在帧中使用运动记录?
- javascript - 预期 2 个参数,但得到 1.ts(2554) index.ts(54, 112):未提供 'arg1' 的参数