当应用未运行时,"挂起意图"中服务的通知操作不起作用



我有一个应用程序,可以通过通知响应通知。因此,基本上,我对此有一个

的意图
Intent actionIntent = actionIntent = new Intent(this, NotificationActionIntentService.class);
actionPendIntent = PendingIntent.getService(
        this,
        requestCodeBtn,
        actionIntent,
        PendingIntent.FLAG_UPDATE_CURRENT
 );

我在NotificationActionActionInterService中所做的事情是我指出所需的更新所需的httprequest。

注意:当应用在前景中时,一切正常。

这是:

收到GCM后,当我按通知时。立即行动,一切仍然可以正常工作。

但是,当我在接收GCM之前等待30秒钟之前,请按Notification。Action Action,网络请求未完成。日志仅表示它提出了网络请求。但是我从来没有得到任何回应。当我查看BE服务器中的日志时。我没有收到网络请求。

但是,当我手动启动应用程序时,将恢复网络。似乎正在暂停网络请求,然后在应用程序已经在前景中时恢复。(我不想要这种行为,因为我希望它仅在后台执行)

update :按Notification.Action,一两分钟后(不打开应用程序)后,我在日志中收到了java.net.ConnectException: Failed to connect。(注意:我有互联网连接)。似乎该应用程序仅在后台运行时无法连接到网络。

PS :IM在创建我的网络请求时使用 RETROFIT 2 。我也将Android N用作测试设备。

回答我自己的问题:

source -> https://stackoverflow.com/a/41281059/5285687

事实证明,当设备处于节电模式时,系统会防止背景应用程序访问网络。

这是您可以使用的解决方案。 -> https://stackoverflow.com/a/39167736/5285687

但是您需要为此提供一个Android通知。

相关内容

  • 没有找到相关文章

最新更新