У розділі "Налаштування" -> "Використання даних" є прапорець "Обмежити фонові дані".
Як саме це працює? Що тут означає "фон"? І чи налаштована ця настройка ОС, чи це натяк на те, що програми вільно нехтувати, якщо закодовані неправильно?
У розділі "Налаштування" -> "Використання даних" є прапорець "Обмежити фонові дані".
Як саме це працює? Що тут означає "фон"? І чи налаштована ця настройка ОС, чи це натяк на те, що програми вільно нехтувати, якщо закодовані неправильно?
Відповіді:
По-перше, це налаштування виконує ОС (тому програма не вирішує, чи слід дотримуватися цього параметра). Простіше кажучи: Android не дозволить програмі отримувати доступ до мережі, якщо вона не працює на передньому плані (тобто користувач взаємодіє з нею) з увімкненим обмеженням.
Пояснено із пластиковим прикладом: обмежте фонові дані в додатку Google Play Store (як я), він більше не перевірятиме оновлення у фоновому режимі, коли ви перебуваєте на мобільних даних. Але це буде зроблено, коли ви користуєтесь WiFi. Крім того, коли ви закликаєте додаток, щоб щось встановити, воно буде працювати до тих пір, поки ви не будете тримати його на передньому плані (тобто не переходити на інший додаток під час завантаження).
NetworkPolicyManager
додає додаткове обмеження, що екран повинен бути включений. "Користувач взаємодіє з ним" говорить про те, що ви повинні натискати на кнопки чи щось таке, але насправді активність просто повинна бути видно на екрані, не звертаючи жодної активності іншого додатка.