android - 将从相机拍摄的图像设置为 ImageView

标签 android android-intent bitmap camera imageview

我正在尝试将从相机拍摄的图像设置到 ImageView 中。我启动相机 Intent ,然后在 OnActivityResult 中收到 NullPointerException,我不明白该错误。

在这里,我启动相机 Intent 并将图像存储在手机的图库中:

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "New Picture");
imageUri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
pictureActionIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, CAMERA_REQUEST);

现在,相机的图像标记保存在手机的图库中(高质量)。 在 onActivityResult 中,我想将图像放入 ImageView 中。这是我的代码:

else if (requestCode == CAMERA_REQUEST)
{
  if (resultCode == RESULT_OK)
   {
     imageUri = data.getData();
             try 
             {
               Bitmap bitmap = Media.getBitmap(getContentResolver(), imageUri); //NullPointerException
               myImageView.setImageBitmap(bitmap);
             } 
          catch (IOException e) 
             {
              e.printStackTrace();
             }

我有一个 NullPointerException,为什么?请问我该如何解决?

最佳答案

这会使您的结果保存在 mediaStore 中,因此 data.getData(); 将返回 NULL:

pictureActionIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

删除它,您将获得在 ImageView 上显示的数据。但是,如果您直接从 data 获取图像,它的质量很差

关于android - 将从相机拍摄的图像设置为 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21239807/

相关文章:

android - 为什么我创建的位图总是泄漏内存?

android - 生成 ionic SDK

javascript - 如何将一个值发布到 WebService 中并解析另一个值?超文本标记语言

android - 如何从 res/raw 文件夹打开 PDF 文件?

java - 子采样比例 ImageView - 使图钉标记在 Imageview 上可点击

c# - SnapsToDevicePixels 不适用于图像?

Android 简单的 2 行 ListView 示例

java - 如何清除 picasso 的缓存?

android - 如何在 FileChooser Intent 之后获取 getExtra()?

java - 如何将额外内容传递给 TabActivity 内的 Intent ?