AndroidQ(八)Android Q隐私:更改相机和连接

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_theSun/article/details/89600994

Android Q隐私:更改相机和连接

本文档描述了访问摄像机和连接信息的几个限制。这些更改有助于保护用户的隐私。

其中一些更改会影响在Android Q上运行的所有应用,而其他更改仅会影响针对Android Q的应用。

影响所有应用的变化

以下更改会影响在Android Q上运行的所有应用,即使它们定位到Android 9(API级别28)或更低级别。

访问所有相机信息需要获得许可

Android Q会更改getCameraCharacteristics() 默认情况下该方法返回的信息范围 。特别是,您的应用必须具有CAMERA 权限才能访问此方法的返回值中包含的潜在特定于设备的元数据。

如果您的应用没有CAMERA权限,则无法访问以下字段:

  • ANDROID_LENS_POSE_ROTATION
  • ANDROID_LENS_POSE_TRANSLATION
  • ANDROID_LENS_INTRINSIC_CALIBRATION
  • ANDROID_LENS_RADIAL_DISTORTION
  • ANDROID_LENS_POSE_REFERENCE
  • ANDROID_LENS_DISTORTION
  • ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE
  • ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE
  • ANDROID_SENSOR_REFERENCE_ILLUMINANT1
  • ANDROID_SENSOR_REFERENCE_ILLUMINANT2
  • ANDROID_SENSOR_CALIBRATION_TRANSFORM1
  • ANDROID_SENSOR_CALIBRATION_TRANSFORM2
  • ANDROID_SENSOR_COLOR_TRANSFORM1
  • ANDROID_SENSOR_COLOR_TRANSFORM2
  • ANDROID_SENSOR_FORWARD_MATRIX1
  • ANDROID_SENSOR_FORWARD_MATRIX2

启用和禁用Wi-Fi的限制

在Android Q上运行的应用无法启用或停用Wi-Fi。该 WifiManager.setWifiEnabled()方法总是返回false。

如果需要,请使用设置面板提示用户启用和禁用Wi-Fi。

影响针对Android Q的应用的更改

以下更改仅在针对Android Q时影响应用。

Wi-Fi网络配置限制

为了保护用户隐私,现在将Wi-Fi网络列表的手动配置限制在系统应用程序中。如果您的应用针对Android Q,则以下方法不再返回有用数据:

  • 该getConfiguredNetworks()方法始终返回一个空列表。
  • 返回一个整数值-每个网络操作方法addNetwork()和 updateNetwork()-always返回-1。
  • 每个网络操作,返回一个布尔值- ,removeNetwork(), reassociate(),enableNetwork(),disableNetwork(),reconnect()和 disconnect()-always回报false。

如果您的应用需要连接到Wi-Fi网络,请使用以下备用方法:

  • 要触发与Wi-Fi网络的即时本地连接,请使用 WifiNetworkSpecifier标准NetworkRequest对象。
  • 要添加Wi-Fi网络以考虑为用户提供Internet访问,请使用WifiNetworkSuggestion对象。您可以分别通过调用WifiManager.addNetworkSuggestions()和 添加和删 除出现在自动连接网络选择对话框中的网络WifiManager.removeNetworkSuggestions()。这些方法不需要任何位置权限。

电话,Wi-Fi,蓝牙API所需的精确位置许可

除非您的应用具有此ACCESS_FINE_LOCATION权限,否则在Android Q上运行时,您的应用无法在Wi-Fi,Wi-Fi Aware或蓝牙API中使用多种方法。以下列表显示了受影响的方法。

注意:如果您的应用在Android Q上运行但针对的是Android 9(API级别28)或更低级别,则只要您的应用具有ACCESS_COARSE_LOCATION或拥有该ACCESS_FINE_LOCATION权限,您就可以使用受影响的API 。

电话

  • TelephonyManager
    • getCellLocation()
    • getAllCellInfo()
    • requestNetworkScan()
    • requestCellInfoUpdate()
    • getAvailableNetworks()
    • getServiceStateForSubscriber
    • getServiceState()
  • TelephonyScanManager
    • requestNetworkScan()
  • PhoneStateListener
    • onCellLocationChanged()
    • onCellInfoChanged()
    • onServiceStateChanged()
  • NetworkScanCallback
    • onResults()

无线上网

  • WifiScanner
    • startScan()
  • WifiManager
    • startScan()
    • getScanResults()
    • getConnectionInfo()
    • getConfiguredNetworks()
  • WifiAwareManager
  • WifiP2pManager
  • WifiRTTManager

蓝牙

  • BluetoothAdapter
    • startDiscovery()
    • startLeScan()
    • LeScanCallback()

猜你喜欢

转载自blog.csdn.net/Mr_theSun/article/details/89600994