1

我想捕获图像并将其保存在文件夹中,但是当我捕获它时,我的图像没有保存在我想要的文件夹中,而只是保存在画廊中,并且我的图像名称与我想要的不一样。我的图片也没有显示在我的活动中,有谁知道,为什么会这样?

这是我的代码:

    private void dialogKamera() {
String sdCard= Environment.getExternalStorageDirectory()+"/android/data/spaj/spaj_foto.png";

                File file=new File(sdCard);

                if(file.exists())
                    file.delete();

                Uri outputFileUri = Uri.fromFile(file); 

                Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
                cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

                startActivityForResult(cameraIntent, 0);
        }

            @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 0 && resultCode == RESULT_OK) {
                Bitmap photo = (Bitmap) data.getExtras().get("data"); 
                image_spaj.setImageBitmap(photo);
            }

我不知道我的错在哪里,我希望有人能帮助我解决我的问题,谢谢

4

2 回答 2

1

您应该确保输出目录存在。

编辑:删除虚假评论:-)

要确保目录存在:

File dir = file.getParentFile();
dir.mkdirs();

要显示图像,这里有几个很好的资源:

How can I display image in Android Application ,
Displaying simple bitmap on Android有其他资源列表,
以及教程Displaying Bitmaps in Your UI

于 2013-09-26T07:23:48.293 回答
0

首先确保目录存在,然后试试这个:

将路径更改为

String sdCard= Environment.getExternalStorageDirectory()+"/Android/data/spaj/spaj_foto.png"

'Android'而不是'android'

于 2013-09-26T07:24:18.133 回答