Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
原生Google代码只在开机的时候加载一次Camera 的配置, 当开机之后再去插USB Camera, 虽然USB模块能枚举成功USB Camera,但是Camera HAL 和 Camera Service是无法得知此事件的.
因此思维逻辑就是在每次APP初始化获取Camera信息的时候重新加载初始化一次Camera.
解决方法:
CameraService.cpp:
int32_t CameraService::getNumberOfCameras(int type) {
ATRACE_CALL();
switch (type) {
case CAMERA_TYPE_BACKWARD_COMPATIBLE:
+ if(mNumberOfNormalCameras == 0) {
+ ALOGE("no camera be found ! check again...");
+ onFirstRef();
+ }