0

在我的应用程序中,我试图将ImageView' 的图像设置为刚刚用相机拍摄的图像。我的问题是它适用于我的旧 Droid(Android 2.2),但不适用于我的 Droid Razr(Android 4.0)。我想知道是否有人可以帮助我找出原因。

这是Intent单击“拍照”按钮时的相机:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String imageFileName = System.currentTimeMillis() + ".jpg";

File photo = new File(Environment.getExternalStorageDirectory(),
imageFileName);

imageUri = Uri.fromFile(photo);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

startActivityForResult(cameraIntent, ACTIVITY_CAMERA);

这是Activity的结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == ACTIVITY_CAMERA) {
        if(resultCode == Activity.RESULT_OK){

            imageView.setImageUri(imageUri);    
        }
    }  
}

Razr上ImageView仍然是空白。

4

1 回答 1

0

奇怪的是如何查看 logcat 是有帮助的。

ImageView无论如何,在尝试设置's 图像时,我得到“位图太大” 。甚至在这个问题之前,我在这里尝试了谷歌的解决方案。但是,位图始终为空,我还没有深入研究它以找出原因。

编辑:我得到了谷歌的解决方案。对于该decodeFile()方法,我将 myUri作为字符串传递:imageUri.toString()。我将其更改为imageUri.getPath(),现在可以正常工作了。

于 2012-08-24T21:09:01.943 回答