我的应用程序经过电池优化后,为什么我无法接收推送通知?

时间:2019-05-15 17:33:05

标签: android firebase push-notification onesignal

我的应用程序经过电池优化后,无法接收推送通知。是否有可能被Google列入白名单?

过去,我使用Firebase发送我的Push通知。我坚信这是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);
  }
}

1 个答案:

答案 0 :(得分:0)

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