Android 9 (Pie) представляет ранжирование Wi-Fi RTT для на основе геолокации.
В версиях до Android 8 (Oreo) приложения периодически запрашивали сканирование Wi-Fi. Эта функция массово заблокирована в Android 9: приложение переднего плана. теперь может запрашивать максимум 4 сканирования в 2-минутном окне; фоновые приложения ограничены одним сканированием в 30 минут для всех фоновых приложений вместе взятых. Единственный способ избежать этого дросселирования — это разрешение NETWORK_SETTINGS
, которое, однако, является разрешением подписи (я понимаю, что оно должно быть подписано тем же ключом, что и сборка ОС, независимо от того, является ли это системным приложением) и, таким образом, недоступны для сторонних приложений.
Я понимаю, что диапазон Wi-Fi RTT может быть инициирован только с помощью ScanResult
, поэтому мне нужно сначала запустить сканирование Wi-Fi. Тем не менее, я мог бы, по-видимому, обойти ограничение, повторно используя один и тот же результат сканирования для пары запросов на диапазон RTT, за счет отсутствия новых Wi-Fi в течение некоторого времени.
Тем не менее, в документах также упоминается регулирование диапазона Wi-Fi RTT, однако без указания ограничений.
Наконец, WifiManager.startScan()
устарело, и приложения больше не могут возможность запуска сканирования в будущих версиях.
Вопросы:
- Каковы ограничения для запроса диапазона Wi-Fi RTT?
- Как правильно получить
ScanResult
, который мне нужен, чтобы запустить запрос диапазона RTT?