Android 4.0中的ImageView setImage

时间:2012-08-24 20:33:10

标签: android android-imageview

在我的应用中,我正在尝试将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仍为空白。

1 个答案:

答案 0 :(得分:0)

很奇怪看logcat是否有用。

无论如何,在尝试设置ImageView的图像时,我得到“位图太大”。甚至在此问题发生之前,我尝试了Google的解决方案here。但是,位图始终为空,我没有仔细研究它以找出原因。

编辑:我得到了Google的解决方案。对于decodeFile()方法,我将Uri作为字符串传递:imageUri.toString()。我将其更改为imageUri.getPath(),现在正在使用。