增加Camera、sensor和麦克风的background限制,对所有targetSdkVersion的应用都生效;主要是考虑隐私安全的原因,功耗不是主要动机;对应用来说是很大的变化。
所有三方应用处于idle的状态就会被管控,切换到后台一分钟应用就会进入idle状态,但是有前台服务的不会进入idle状态;
-
-
-
- 影响三方功能:后台录音,拍照、摄像、定位和计步。
-
-
Android 9 限制后台应用访问用户输入和传感器数据的能力。 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制:
-
- 您的应用不能访问麦克风或摄像头。
- 使用连续报告模式的传感器(例如加速度计和陀螺仪)不会接收事件。
- 使用变化或一次性报告模式的传感器不会接收事件。
-
- 异常日志:
- 06-13 10:38:25.757 636 10129 E CameraService: Access Denial: can't use the camera from an idle UID pid=2787, uid=10164
- 异常日志:
-
不要再假设应用在idle状态还可以使用麦克风、sensor和camera,如果需要后台(idle状态)访问麦克风、sensor和camera的时候需要在应用进入idle状态之前增加前台服务。前台服务:https://developer.android.com/guide/components/services.html#Foreground