2011-12-07 66 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); 
    } 
} 
}