SystemUI 人脸识别与相机冲突的整理文档
程序员文章站
2022-05-27 09:09:25
...
不积跬步无以至千里
前摘:
关于SystemUI中添加了人脸识别功能后,引发了一个与原生逻辑冲突的问题就是"人脸与相机冲突的问题“。
原因:
因为人脸识别的触发条件多为亮屏的时候,这里引起冲突的主要原因是此刻正在进行人脸识别会使用到相机资源,咱们在锁屏的时候会有两种启动相机的方式,如果当前正在人脸识别,此时你没有停止人脸识别(即释放相机),相机本身也会取申请相机资源,导致争取不到相机资源,会显示”黑屏"的现象,并且如果相机如果在启动状态中,如果启用人脸同样会导致人脸使用的相机资源同样无法获取到,导致人脸识别不成功的状态。
分析:
前边说到其中出现冲突的方式多分为两种情况,而这两种情况要分开处理,但处理的方式大同小异,其中之一的情况是亮屏后的滑动锁屏第一屏中的相机图标来启动相机,另一种是通过双击power键来启动相机,导致的相机资源占用的冲突。
下边是触发人脸识别的两种情况,其中之一为亮屏操作触发人脸识别逻辑(文件路径如下):
/app/src/com/android/keyguard/KeyguardUpdateMonitor.java
private final Handler mHandler = new Handler(Lo