当我的应用程序进行电池优化时,为啥我无法收到推送通知?

     2023-02-24     267

关键词:

【中文标题】当我的应用程序进行电池优化时,为啥我无法收到推送通知?【英文标题】:Why am I not able to recive a push notification when my app is battery optimized?当我的应用程序进行电池优化时,为什么我无法收到推送通知? 【发布时间】:2019-05-15 17:33:04 【问题描述】:

当我的应用进行电池优化时,我无法接收推送通知。是否有可能被 Google 列入白名单?

过去,我使用 Firebase 发送推送通知。我认为这是 Firebase 的问题,所以我尝试使用 OneSignal,但我遇到了同样的问题。我也以高优先级发送,但在优化电池时它不起作用。

是否有可能解决这个问题,还是用户禁用电池优化的唯一方法?

如果我使用此代码,我会被禁止进入 Play 商店吗?

    if (Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP_MR1) 
  String pkg=getPackageName();
  PowerManager pm=getSystemService(PowerManager.class);

  if (!pm.isIgnoringBatteryOptimizations(pkg)) 
    Intent i=
      new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
        .setData(Uri.parse("package:"+pkg));

    startActivity(i);
  

【问题讨论】:

当the app is not in the working set 时,我只看到在 API 28 设备上延迟接收高优先级 FCM 消息。您在什么设备类型和 API 级别上观察到这种行为? 我使用的是带有 API 28 的 OnePlus 6T,但我在其他手机和不同的 API 上也遇到了这些问题。 你找到解决办法了吗?我也面临类似的问题! 不,我还没有找到解决办法。 【参考方案1】:

很遗憾,这是一个已知问题。最近,大多数移动制造公司使用他们自己的 Android 修改版本实际上停止了大多数(如果不是全部)在后台运行的服务以节省电池。据我所知,您只能做一件事,就是很好地提示用户将您的应用列入白名单,这样即使在省电模式下也可以毫无障碍地运行。

【讨论】:

好的,我用一些代码更新了这个问题。我应该用我发布的代码来做吗? 是的,如果这可行并且只是向用户提出请求,那么绝对可以!所有的力量给你! 我会尽快尝试。

当我连接到我的 Wifi 时,在 Android 上没有收到推送通知

...以,我的三星Galaxys5(sm-g900f)遇到了问题。我无法接收某些应用程序的推送通知(环聊、whatsapp、gmail......显然所有应用程序都使用Googl 查看详情

推送通知无法正常工作

...rly【发布时间】:2010-07-2912:01:59【问题描述】:我在我的应用程序中集成了推送通知。当应用程序未运行时它们似乎工作正常,但是当我打开应用程序时它们没有收到(尽管当我运行不同的应用程序时它们会收到)。我的应用高... 查看详情

为啥当我推送我的应用程序时我的 cli 会出错? [复制]

】为啥当我推送我的应用程序时我的cli会出错?[复制]【英文标题】:whymycligiveanerrorwhenIpushingmyapp?[duplicate]为什么当我推送我的应用程序时我的cli会出错?[复制]【发布时间】:2021-09-2415:18:06【问题描述】:我正在Heroku上部署一... 查看详情

当我尝试访问我的 CodeIgniter 应用程序时,为啥会收到 404 错误?

】当我尝试访问我的CodeIgniter应用程序时,为啥会收到404错误?【英文标题】:WhyamIgettinga404errorwhenIattemptoaccessmyCodeIgniterapp?当我尝试访问我的CodeIgniter应用程序时,为什么会收到404错误?【发布时间】:2012-05-2218:04:39【问题描述... 查看详情

为啥我的程序没有收到 SIGTERM?

...GTERM退出自身(如果不以交互方式输入“exit”字符串)。当我直接终止telnet/ssh会话时,程序通常会在大多数服务器上自行退出。 查看详情

当我收到静默推送通知时,iOS 会唤醒我的应用程序吗?(当应用程序未处于运行状态时)

】当我收到静默推送通知时,iOS会唤醒我的应用程序吗?(当应用程序未处于运行状态时)【英文标题】:WilliOSawakemyappwhenireceivesilentpushnotification?(Whenappisnotinrunningstate)【发布时间】:2014-04-0812:50:32【问题描述】:更新问题:要... 查看详情

应用程序处于前台时未收到 Firebase 推送通知

】应用程序处于前台时未收到Firebase推送通知【英文标题】:FirebasePushNotificationisNotReceivedwhenAppisinForeground【发布时间】:2018-10-1706:43:53【问题描述】:我在Firebase中使用unity2018。我正在处理Firebase推送通知。推送通知消息接收良... 查看详情

为啥我会收到此错误 --> 当我在线托管我的应用程序时,操作 `users.findOne()` 缓冲在 10000 毫秒后超时

】为啥我会收到此错误-->当我在线托管我的应用程序时,操作`users.findOne()`缓冲在10000毫秒后超时【英文标题】:WhyamIgettingthiserror-->Operation`users.findOne()`bufferingtimedoutafter10000mswhenihostmyapponline为什么我会收到此错误-->当我在... 查看详情

在 Swift 中收到推送时添加徽章

...间】:2015-08-0314:57:55【问题描述】:我有用Swift编写的iOS应用程序。我使用ParseSDK进行推送通知。我想在收到推送时将徽章添加到应用程序图标。有问题-我无法直接从推送中添加徽章,因为有很多用户使用我的应用的早期版本。... 查看详情

推送通知接收和处理

...我有两个问题。我实现了通知,安装在我的手机中,但是当我从提供商发送通知时,我没有收到任何通知。但是当我使用另一部手机时,我会收到通知。有接收通知的设置吗?在我的代码中,我必须在哪里实现当我点击通知警报... 查看详情

当我的 iPad 关闭时,只收到最后一个推送通知

】当我的iPad关闭时,只收到最后一个推送通知【英文标题】:OnlylastPushNotificationisreceivedwhenmyiPadisoff【发布时间】:2013-08-2816:38:15【问题描述】:我在iPad关闭时向我的iPad(iOS5.1.1)发送即3条推送通知。当我打开iPad时,通知中心只... 查看详情

当我管理推送通知时如何知道我的应用程序是不是打开

】当我管理推送通知时如何知道我的应用程序是不是打开【英文标题】:HowtoknowifmyappisopenwhenImanagedapush-notification当我管理推送通知时如何知道我的应用程序是否打开【发布时间】:2013-05-0719:42:53【问题描述】:使用Android,当我... 查看详情

Parse.com 推送服务电池影响

...描述】:我无法使用GCM,我正在寻找解决方案来支持我的应用程序中的推送服务。我从Parse.com看到了PPNS,我现在正在使用它。我启动一个一致的websocket连接并每15分钟检查一次连接。它还会在每次设备唤醒时对其进行检查。仅此... 查看详情

为啥我不能在 Swift5 中读取推送消息数据?

...数据。我正常收到消息。当我按下主页按钮时,我可以在应用程序处于前台或后台时同时接收。但是我在日志中看不到消息数据。AppDelegate.swiftclass 查看详情

打开推送通知时无法刷新我的 web 视图

...3【问题描述】:我想使用WebView和gcm创建我的网站的Android应用程序,我即将完成我的项目。我的应用程序可以接收推送通知,WebView工作正常,但我遇到了问题。问题是当我打开推送通知时我无法刷新我的WebView。当应用程序处于... 查看详情

收到苹果推送通知时从情节提要打开一个视图控制器

...布时间】:2014-02-1719:12:59【问题描述】:我正在开发一个应用程序,该应用程序的情节提要具有3个视图控制器和启用推送通知的应用程序。当我收到推送通知并且当我点击通知警报时,它应该从我的故事板中打开第二个视图控... 查看详情

每当我的应用收到推送通知时,它都会从最后一个徽章编号(不是 0)递增

】每当我的应用收到推送通知时,它都会从最后一个徽章编号(不是0)递增【英文标题】:Whenevermyappreceivesapushnotificationitincrementsupfromthelastbadgenumber(not0)【发布时间】:2015-08-0609:47:00【问题描述】:我的徽章递增有问题。我正在... 查看详情

当我似乎正在填写参数时,为啥会收到 TypeError? [关闭]

】当我似乎正在填写参数时,为啥会收到TypeError?[关闭]【英文标题】:WhyamIgettingaTypeErrorwhenIseemtobefillingtheparemeters?[closed]当我似乎正在填写参数时,为什么会收到TypeError?[关闭]【发布时间】:2021-11-0901:44:29【问题描述】:我正... 查看详情