2013-06-25 264 views
0

我拍照和保存的代码有问题。它在我launchCamera()时崩溃。 你能帮我吗?从相机拍摄照片

private void launchCamera() { 
    try { 

     mOutputFile = File.createTempFile("prova", null); 

      Intent intentCamera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

      intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, 
       Uri.fromFile(mOutputFile)); 

      startActivityForResult(intentCamera, CAMERA_REQUEST); 
    } catch (Exception e) { 
     Toast t = Toast.makeText(this, "ERROR:\n" + e.toString(), Toast.LENGTH_LONG); 
     t.show(); 
    } 
} 
+0

什么是logcat的说? –

+0

该程序启动异常,我不知道为什么 – Juppy

+2

@Juppy这是我见过的最有趣的事情logcat说。尽管如此,请复制LogCat文本并将其粘贴到此处。 – BLaZuRE

回答

0

也许你没有添加清单文件所需的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.camera" /> 
<uses-feature android:name="android.hardware.camera.autofocus" /> 

此外,我建议你去了这个博客帖子我就用拍照这个话题写内置的摄像头活动:

Take Picture with build in Camera Activity

0

要访问设备摄像头,您必须声明摄像头权限在你的Android清单

+0

我宣布相机权限尚未 – Juppy

1

我使用这段代码尝试一下:

/** 
* This method is used to start the camera activity and save the image taken as the imagename passed 
* 
* @param imagename : this is the name of the image which will be saved 
*/ 
private void clickPicture(String imagename) { 
    Intent getCameraImage = new Intent("android.media.action.IMAGE_CAPTURE"); 
    File cameraFolder; 
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
     cameraFolder = new File(android.os.Environment.getExternalStorageDirectory(),"myfolder/"); 
    else 
     cameraFolder= context.getCacheDir(); 
    if(!cameraFolder.exists()) 
     cameraFolder.mkdirs(); 
    String imageFileName = imagename; 
    File photo = new File(Environment.getExternalStorageDirectory(), "myfolder/" + imageFileName); 
    getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); 
    Uri.fromFile(photo); 
    startActivityForResult(getCameraImage, 1); 

} 

,并在您的清单文件中添加在未经许可:

<uses-permission android:name="android.permission.CAMERA" ></uses-permission> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

为您代码没关系? – Juppy

相关问题