2011-12-07 65 views
0

我在我的应用程序中使用Android摄像头。相机正在使用Android:通过Android摄像头捕获图像时发布

Intent captureImage = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      captureImage.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri); 
      startActivityForResult(captureImage, CAMERA_PIC_REQUEST); 

我对

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data);} 

问题捕结果是,当我拍摄图像,我没有得到任何东西onActivityResult()调用,但如果我取消摄像头的活动我我得到的结果为-1。 这意味着我的方法正在工作,但捕捉图像后出现错误,并且无法返回图像uri。

有谁可以告诉我什么问题? 谢谢。

+0

你检查logcat的任何消息?可能是与ImagefileUri相关的内容。 – user994886

回答

0

试试这个片段:

public class MyCameraActivity extends Activity { 
private static final int CAMERA_REQUEST = 1888; 
private ImageView imageView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    this.imageView = (ImageView)this.findViewById(R.id.imageView1); 
    Button photoButton = (Button) this.findViewById(R.id.button1); 
    photoButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo); 
    } 
} 
}