android中,

调用摄像头需要判断当前摄像头的状态,没找到对应的方法,

采用了个折中方法。

在非main线程里调用Camera.open,catch 相应的RuntimeException,



    <span style="white-space:pre">  </span>/**          * 测试当前摄像头能否被使用          * @return          */          public static boolean isCameraCanUse() {              boolean canUse = true;              Camera mCamera = null;              try {                  // TODO camera驱动挂掉,处理??                  mCamera = Camera.open();              } catch (Exception e) {                  canUse = false;              }              if (canUse) {                  mCamera.release();                  mCamera = null;              }                            return canUse;          }  


需要注意的是应该在自己程序的非UI线程中进行上面的判断,因为进入自己的UI线程会导致当前其他程序正在拍摄视频自动终止,

因为UI线程只能有一个在运行。

这个方法可用,但是如果摄像头没有被使用,open和release会白白消耗些资源,另外camera驱动进程挂掉的情况没有考虑

更多相关文章

  1. android获取时间差的方法
  2. App优化之提升你的App启动速度之实例挑战
  3. Android(安卓)4.4源码编译环境升级gcc版本的方法
  4. android ActivityGroup认识
  5. 关于视频的控件SurfaceView及相关
  6. Android实现异步加载图片 ListView
  7. Android(安卓)调用Remote Service方法
  8. Android(安卓)View刷新机制
  9. Android中Cursor 的一些方法

随机推荐

  1. Android应用程序怎么刷到手机上
  2. 学Android的学习规划
  3. Android(安卓)打包签名
  4. Android(安卓)Studio 1.0 苹果电脑安装配
  5. Android数据存取之Databases
  6. Android中RelativeLayout各个属性的含义
  7. android selector 背景选择器的使用, butt
  8. android 权限大全总库
  9. Android(安卓)打造编译时注解解析框架 这
  10. 相对布局(RelativeLayout)