Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent wifi scan throttling on Android 9 (Pie) with NETWORK_SETTINGS permission

As some have noted, Android 9 (Pie) severely restricts wifi scans, thus crippling any apps that do wifi logging or wifi-based location lookups with a frequency similar to a GPS.

As described in the ticket linked above:

  • Each foreground app is restricted to 4 scans every 2 minutes
  • All background apps combined are restricted to one scan every 30 minutes
  • Apps holding android.Manifest.permission.NETWORK_SETTINGS permission are exempted from scan throttling (cf. docs)

However, I don’t find android.Manifest.permission.NETWORK_SETTINGS described anywhere in the docs (I would expect it to be documented at android.manifest.permission).

If I simply declare in the manifest, the app builds OK, installs OK but I don’t see any extra permissions (even when I choose to show all), at least on Oreo (unfortunately I don’t have a Pie device to test on yet).

Is android.Manifest.permission.NETWORK_SETTINGS a regular permission that’s available to regular user (i.e. non-system) apps?

like image 951
user149408 Avatar asked Aug 17 '18 18:08

user149408


2 Answers

Unfortunately that's a signature level permission reserved only for system applications:

<!-- 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" />

Source: https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

like image 111
Kevin Coppock Avatar answered Oct 24 '22 20:10

Kevin Coppock


It is rumoured that Android Q will have a new permission android.permission.ACCESS_BACKGROUND_LOCATION that allows background scanning. The docs say it "Allows an app to access location in the background." The protection level is "dangerous" rather than "signature".

like image 23
TimSC Avatar answered Oct 24 '22 20:10

TimSC