使用NETWORK_SETTINGS权限防止Android 9(Pie)上的wifi扫描限制

时间:2018-08-17 18:29:49

标签: android android-permissions android-9.0-pie

就像有些人noted所说,Android 9(Pie)严格限制了wifi扫描,从而削弱了任何以类似于GPS的频率进行wifi日志记录或基于wifi的位置查找的应用。

如上面链接的票证所述:

  • 每个前台应用程序每2分钟只能进行4次扫描
  • 所有后台应用程序的合并限制为每30分钟扫描一次
  • 拥有android.Manifest.permission.NETWORK_SETTINGS权限的应用程序免于扫描限制(参见docs

但是,我在文档的任何地方都找不到android.Manifest.permission.NETWORK_SETTINGS的描述(我希望可以在android.manifest.permission上找到它)。

如果我只是声明      在清单中,该应用程序构建正常,安装正常,但至少在Oreo上,我看不到任何额外的权限(即使我选择全部显示)(不幸的是,我还没有可以测试的Pie设备)。

android.Manifest.permission.NETWORK_SETTINGS是否为常规用户(即非系统)应用可用的常规权限?

2 个答案:

答案 0 :(得分:11)

不幸的是,这是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

答案 1 :(得分:1)

It is rumoured表示Android Q将具有新的权限android.permission.ACCESS_BACKGROUND_LOCATION,允许进行后台扫描。文档说它“允许应用程序在后台访问位置”。 protection level is "dangerous"而不是“签名”。