我启动相机并希望将拍摄的图像直接保存到我的内部存储器中,而不是将其移入其中.
file targetDir = new file(getApplicationContext().getfilesDir()+file.separator+"PROJECTMAIN"+file.separator+"SUBFORDER"); targetDir.mkdirs(); //create the folder if they don't exist file externalfile = new file(targetDir,"picturename.jpg"); Uri imageURI = Uri.fromfile(externalfile); Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,imageURI); startActivityForResult(takePictureIntent,actionCode);
似乎如果我尝试将它们直接保存到内部存储器中,相机会在我拍照后忽略我对“确定”按钮的点击.我认为“内部”URI有问题,因为如果我使用Environment.getExternalStorageDirectory()代替getApplicationContext().getfilesDir()for extra_output,一切正常,但后来我必须将文件移到内部存储(移动过程适用于“getApplicationContext().getfilesDir()”)
当我拍照并按下确定按钮继续使用内部URI时,相机根本不做任何事情……我无法相信在AndroID中使用存储会有困难.
有任何想法吗?也许相机只允许将图片保存到外部存储?
解决方法 请尝试以下代码file dir= context.getDir("dirname",Context.MODE_PRIVATE); //Creates Dir insIDe internal memoryfile file= new file(dir,"filename"); //It has directory details and file namefileOutputStream fos = new fileOutputStream(file);总结
以上是内存溢出为你收集整理的java – Android将相机图片保存到本地存储全部内容,希望文章能够帮你解决java – Android将相机图片保存到本地存储所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)