Android电池优化

Android电池优化,android,Android,我正在开发一个具有前台服务的应用程序,并尝试检测网络何时发生变化,以查看何时可以连接和无法连接。禁用节能功能(三星S6)后,收听ConnectivityManager.CONNECTIVITY_动作广播效果极佳。然而,当我启用节能功能时,我可能会丢失背景数据,广播也不再告诉我任何事情 我怀疑这与打瞌睡有关,所以我试着听PowerManager.ACTION\u DEVICE\u IDLE\u MODE\u更改了,但从未触发 如果我请求Settings.ACTION\u request\u IGN

我正在开发一个具有前台服务的应用程序,并尝试检测网络何时发生变化,以查看何时可以连接和无法连接。禁用节能功能(三星S6)后,收听ConnectivityManager.CONNECTIVITY_动作广播效果极佳。然而,当我启用节能功能时,我可能会丢失背景数据,广播也不再告诉我任何事情

我怀疑这与打瞌睡有关,所以我试着听PowerManager.ACTION\u DEVICE\u IDLE\u MODE\u更改了,但从未触发


如果我请求Settings.ACTION\u request\u IGNORE\u BATTERY\u优化,我的问题就会消失,但是谷歌正在从play store中提取应用程序来请求这个。您知道是什么原因导致我失去网络连接,以及我如何能够成功地收听网络连接?

用户必须禁用电池优化功能。
您可以使用以下命令为用户启动屏幕:

Intent intent = new Intent();
intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
context.startActivity(intent);
因此,提示用户禁用电池优化并启动上述意图