视频链接:权限说明
1.权限
- 顶级设置入口。将隐私和位置放在顶层设置菜单里
- 位置信息更加颗粒化,后台使用位置信息需申请权限
<!-- 访问粗略位置信息 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 访问精确位置信息 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--后台访问位置信息-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
- 将活动探知(Activity Recognition)设为危险的运行时权限
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
- 限制了对设备屏幕内容的访问权限,要求所有应用使用MediaProtectionManager API,经过用户同意之后开启录屏功能。
<service android:name="MediaProjectionFgSvc"
android:foregroundServiceType="mediaProjection"/>
bindService(Intent(this, MediaProjectionFgSvc::class.java),
object : ServiceConnection {
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
startActivityForResult(projectionManager.createScreenCaptureIntent(), ...)
}
}, Context.BIND_AUTO_CREATE)
在服务连接成功以后,用户可以接受或者拒绝,用户同意之后就可以进行录屏。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
var mediaProjection = projectionManager.getMediaProjection(...)
}
2.设备识别
- 限制了对危险硬件ID的访问权限
- 对MAC地址进行了默认随机化处理
3.后台活动
- 限制后台活动的开启
- 限制了对麦克风和摄像头的后台访问权限