安卓应用程序时,试图图像保存到SD卡

问题描述:

我想图像保存到SD卡,我点击“OK” /勾选后摄像头加入了一些代码它。但是,我的应用程序退出exits.Would我必须检查我试图存储它的目录是否存在?我该怎么做?.. file.exists(){file.mkdirs}? ..在我的代码中,我尝试将它存储在每个SD卡中存在的/ Android文件夹中。安卓应用程序时,试图图像保存到SD卡

  file = new File(Environment.getExternalStorageDirectory().getPath() 
       + "/Android/" + "bhe_app" + ".jpg"); 

    imageUri = Uri.fromFile(file); 

i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     i.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 

     startActivityForResult(i, cameraData); 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     bmp = (Bitmap) extras.get("data"); 
     iv.setImageBitmap(bmp); 


    } 
} 

在图片创建文件之前创建目录重要。

boolean createdDirectory = new File(Environment.getExternalStorageDirectory().getPath() + "/directory1/directory2/directory3/").mkdirs(); 

变量createdDirectory

真当且仅当该目录的创建,以及所有 所需的父目录;否则为false

你必须确保你的应用程序有可能写入SD卡的权限(请检查您AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

我刚刚添加了许可..谢谢 – Ravin

你有没有在AndroidManifest.xml给出的许可Write_External_Storage,这就是保存在SD卡

+0

我只是did..but应用依然存在,我打后照相机的“确定”/复选标记按钮..这是因为没有目录是这样的... ...以及如何检查目录是否退出并且它不创建它..与dir.mkdirs有什么关系( )? – Ravin

+0

什么错误,看到它的日志,并尝试直接存储图像的SD卡上,而不是把它在目录 –

+0

我一直在寻找通过谷歌的教程,我作出了code.Now一些变化,图像被保存,但一旦我点击相机的复选标记,应用程序退出。我做了一些变化,如: file = new File( Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), “BHE App”); mediaFile = newFile(file.getPath()+ File.separator +“Image1.jpg”); if(!file.exists()){try {file.createNewFile(); }赶上(IOException的发送){e.printStackTrace (); }} imageUri = Uri.fromFile(mediaFile); – Ravin