我的问题
我有一个相机意图,我希望将图像保存到我的内部数据目录中的一个目录中。
我使用以下方法创建了目录:
File mydir3 = new File(this.getApplicationContext().getFilesDir(),File.separator+"MyApplication"+File.separator+CCPhotoManager.DIRECTORY+File.separator+PhotoManager);
mydir3.mkdirs();
然后我继续创建具有指定名称的文件,如下所示。
String filePath = this.getApplicationContext().getFilesDir()+File.separator+"MyApplication"+File.separator+PhotoManager+File.separator+PhotoManager().getNewPhotoFileName()+PhotoManager;
File file = new File(filePath);
然后我在某处读到没有保存图像的原因是因为相机没有访问我的应用程序数据目录的权限,并且您需要使用它FileOutputStream
来更改权限。但是,由于我的文件路径有路径分隔符,我无法使用openFileStream(filePath,Context.MODE_WORLD_WRITABLE);
.
这就是我尝试以下内容的原因。
try {
FileOutputStream fos = new FileOutputStream(file);
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是,这显然不起作用,因为没有图像保存到使用下面的代码创建的文件中。
Uri uriSavedImage=Uri.fromFile(file);
Log.d("PhotoManager", "adding extra to intent: "+uriSavedImage.toString());
Intent launchcameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
launchcameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(launchcameraIntent,CAMERA_PIC_REQUEST);
我的问题
如何获得相机意图以将其图像保存到内部数据中的自定义目录?
提前致谢