Предотвращение ограничения сканирования Wi-Fi на Android 9 (Pie) с разрешением NETWORK_SETTINGS

Как некоторые отметили, Android 9 (Pie) сильно ограничивает Wi-Fi. сканирует, тем самым нанося вред любым приложениям, которые ведут регистрацию Wi-Fi или поиск местоположения на основе Wi-Fi с частотой, аналогичной GPS.

Как описано в билете, указанном выше:

  • Каждое приложение переднего плана ограничено 4 сканированиями каждые 2 минуты.
  • Все фоновые приложения вместе взятые ограничены одним сканированием каждые 30 минут.
  • Приложения с разрешением android.Manifest.permission.NETWORK_SETTINGS освобождаются от регулирования сканирования (см. документы). )

Тем не менее, я не нашел android.Manifest.permission.NETWORK_SETTINGS нигде в документах (я ожидаю, что это будет задокументировано по адресу android.manifest.permission).

Если я просто объявлю в манифесте, приложение строится нормально, устанавливается нормально, но я не вижу никаких дополнительных разрешений (даже когда я выбираю показать все), по крайней мере, на Oreo (к сожалению, у меня нет устройства Pie для тестирования на еще).

Является ли android.Manifest.permission.NETWORK_SETTINGS обычным разрешением, которое доступно для обычных пользовательских (т. е. несистемных) приложений?


person user149408    schedule 17.08.2018    source источник


Ответы (2)


К сожалению, это разрешение уровня signature зарезервировано только для системных приложений:

<!-- Allows Settings and SystemUI to call methods in Networking services
     <p>Not for use by third-party or privileged applications.
     @hide This should only be used by Settings and SystemUI.
-->
<permission android:name="android.permission.NETWORK_SETTINGS"
    android:protectionLevel="signature" />

Источник: https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

person Kevin Coppock    schedule 17.08.2018
comment
Стыд. Правильно ли я предполагаю, что signature означает, что ключ подписи приложения должен совпадать с ключом ОС, чтобы устанавливаемые приложения могли по-прежнему получать это разрешение, если они получены от поставщика ОС и подписаны тем же ключом, а с другой стороны приложения, которые являются частью образа системы, не могут, если они подписаны ключом, отличным от ОС? - person user149408; 20.08.2018
comment
Так есть ли способ предотвратить дросселирование Wi-Fi в Android Pie? Хотя бы в локальной среде разработки? - person PHP Developer; 05.07.2019

Ходят слухи, что Android Q будет иметь новое разрешение android.permission.ACCESS_BACKGROUND_LOCATION, позволяющее фоновое сканирование. В документах говорится, что это «позволяет приложению получать доступ к местоположению в фоновом режиме». уровень защиты "опасный", а не "подпись" .

person TimSC    schedule 14.04.2019
comment
Интересно. Однако в источниках упоминается только местоположение — есть ли какая-либо информация, повлияет ли это конкретно на сканирование Wi-Fi? - person user149408; 15.04.2019
comment
Я не думаю, что это было подтверждено. Это может относиться только к позиции GPS. - person TimSC; 16.04.2019