在我的应用中,我正在尝试将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
仍为空白。
答案 0 :(得分:0)
很奇怪看logcat是否有用。
无论如何,在尝试设置ImageView
的图像时,我得到“位图太大”。甚至在此问题发生之前,我尝试了Google的解决方案here。但是,位图始终为空,我没有仔细研究它以找出原因。
decodeFile()
方法,我将Uri
作为字符串传递:imageUri.toString()
。我将其更改为imageUri.getPath()
,现在正在使用。