Доступ к сети в режиме доз

Можно ли использовать доступ к сети, когда активна доза? Если мое приложение игнорирует оптимизацию батареи, она не переходит в режим ожидания, но в любом случае это зависит от дозы. Я что-то пропустил?

Сетевой доступ отключен в режиме доз, независимо от того, игнорирует ли ваше приложение оптимизацию батареи. Единственный способ пробудить ваше устройство от режима доз и получить доступ к сети – это отправить в приложение приоритетное облачное сообщение Google.

Изменить: можно запретить Android игнорировать оптимизацию батареи для вашего приложения, что эффективно отключает режим доз для вашего приложения. Однако для этого требуется использовать метод setExactAndAllowWhileIdle (максимум один разбудить каждые 15 минут) и взаимодействие с пользователем, что можно сделать следующим образом:

Intent intent = new Intent(); String packageName = context.getPackageName(); PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); if (pm.isIgnoringBatteryOptimizations(packageName)) intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); else { intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); } context.startActivity(intent);