解决UVC Camera拔出USB摄像头APP崩溃(闪退)的问题
引言
在使用UVC Camera框架的时候 拔出摄像头本应该回调 onDetach
方法以便于后续处理:比如是弹个提示框啥的。但是APP却直接崩溃(闪退)了。
解决方法
关键点在于 libuvccamera
依赖库中的 android_usbfs.c
中 handle_iso_completion (struct libusb_device_handle *handle, struct usbi_transfer *itransfer, struct usbfs_urb *urb)
方法中
修改前是这样的:
1 | for (i = 0; i < num_urbs; i++) { |
拔出USB 摄像头,程序会进入上面这段代码,tpriv->iso_urbs
这个是NULL
了,程序就在这里崩溃了
修改成如下:
1 | for (i = 0; i < num_urbs; i++) { |
也可以使用如下的代码进行修改:
1 | for (i = 0; i < num_urbs; i++) { |
按照上面的方法修改代码后APP就不会出现崩溃(闪退)了。
推荐链接:Android UVC Camera 闪退问题解决方法
推荐链接:解决Android UVC Camera 项目编译和运行报错的问题
UVCCamera相关内容
- Android UVCCamera 简介
- Android UVCCamera基本库介绍
- Android UVCCamera调用过程介绍
- 解决Android UVCCamera项目编译和运行报错的问题
- Android UVCCamera扫描USB Device的过程和原理分析
- Android UVCCamera闪退问题解决方法
- 解决UVCCamera拔出USB摄像头APP崩溃(闪退)的问题
- Android中多USB摄像头解决方案 —— UVCCamera
- UVCCamera源码分析(一)
- UVCCamera源码分析(二)
- UVCCamera源码分析(三)
- UVCCamera源码分析(四)
- UVCCamera源码分析(五)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 竹山一叶!
评论