2011-07-01 73 views
1

IM建立一些应用程序调用摄像头的活动..拍摄照片并将其发送到Web服务器

我只是从我的应用程序拍照并将其发送到网络服务器..

但我不能让我的图片的路径..

,我都会让NullException错误时,试图让图像路径..

呼叫相机活动时,这里是我的代码:

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    this.startActivityForResult(camera, PICTURE_RESULT); 

,这是对活动结果代码:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == PICTURE_RESULT){ 
     if (resultCode == Activity.RESULT_OK) { 
      takePicture(data); 
     } else if (resultCode == Activity.RESULT_CANCELED) { 

     } 
    } 
} 

protected void takePicture(Intent data) { 
    Bundle b = data.getExtras(); 
    pic = (Bitmap) b.get("data"); 
    if (pic != null) { 
     imagePicture.setImageBitmap(pic); 
    } 
} 

是有什么错我的代码?

谢谢

+0

您已经添加了摄像头允许您的清单,是吗? – Otra

+0

是的,我已经添加了权限 – pensilhijau

回答

2

好吧,我看到你的问题。你没有设置开始的路径。请看这个文档。

http://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE

所以你看,当你调用ACTION_IMAGE_CAPTURE你不给它传递额外EXTRA_OUTPUT它告知图像将被存储在应用程序。这EXTRA_OUTPUT是文件的路径。

所以,正确下,你做的意图这样做:

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
URI pictureUri = Uri.fromFile(new File(<path to your file>)); 
camera.putExtra(MediaStore.EXTRA_OUTPUT, pictureUri); 
+0

如果我不设置路径,我只是得到小图像..对不对?我知道..我会尝试它知道..谢谢otra .. – pensilhijau

+0

它的工作otra,谢谢.. – pensilhijau

相关问题