Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528755
  • 博文数量: 107
  • 博客积分: 927
  • 博客等级: 大尉
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-13 17:50
文章分类

全部博文(107)

文章存档

2014年(2)

2013年(13)

2012年(16)

2011年(76)

分类: Java

2011-11-11 16:17:50

项目中有用到相机功能,相关问题做个备忘记录。

1、启动提示:java.lang.runtimeException:setparameters failed.....
    因为parameters.setPictureSize(320, 480)(设置分辨率)的参数有误,
    如果不清楚分辨率可以却掉这句话,再运行就OK 了。
    如果真的想看分辨率可以看logcat日志上面有写:getParameters(....)里面就是一些相关的参数。

2、连续拍照,会出现异常:java.lang.RuntimeException:fail to connect to camera service。

    首先,确认下权限:在AndroidManifest.xml文件中添加权限允许语句:

            
    其次检查,有没有对camera进行释放,或者说系统有自动释放功能但是还没有被处理。可以通过手动释放:

  1. public void surfaceDestroyed(SurfaceHolder holder) {  
  2.     try {  
  3.     stopPreview();  
  4. } catch (Exception e) {  
  5.     e.printStackTrace();  
  6. }  
  7.     try {  
  8.     closeCamera();  
  9.     mSurfaceHolder = null;  
  10. } catch (Exception e) {  
  11.     e.printStackTrace();  
  12. }  

3、调用相机并指定相片路径,保存在/sdcard/下面。

  1. Intent ti = new Intent();  
  2. ti.setAction("android.media.action.IMAGE_CAPTURE");  
  3. File out = new File(Environment.getExternalStorageDirectory(), "ziyouku.jpg");  
  4. Uri uri = Uri.fromFile(out);  
  5. ti.putExtra(MediaStore.EXTRA_OUTPUT, uri);  
  6. startActivityForResult(ti, 1); 
阅读(3148) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~