Android 无需SD卡即可拍照

Android 无需SD卡即可拍照,android,Android,android文档向您展示了如何捕获图像并保存到外部存储中,但我希望我的应用程序能够工作,即使用户没有SD卡我只需要暂时保存文件,直到上传为止。 因此,我创建了一个这样的文件,并将URI通过intent传递给camera应用程序: File imgfile = new File(getFilesDir(), imageFileName); imgfile.setReadable(true, false); imgfile.createNewFile(); Intent captureInten

android文档向您展示了如何捕获图像并保存到外部存储中,但我希望我的应用程序能够工作,即使用户没有SD卡我只需要暂时保存文件,直到上传为止。

因此,我创建了一个这样的文件,并将URI通过intent传递给camera应用程序:

File imgfile = new File(getFilesDir(), imageFileName);
imgfile.setReadable(true, false);
imgfile.createNewFile();

Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imgFile));
startActivityForResult(captureIntent, IMAGE_PICKER_TAKE);
但在我拍照并点击OK后,相机应用程序再也不会返回到我的应用程序。我猜这是因为它无法访问我传递给它的文件,因为它位于getFilesDir()返回的目录中,我认为其他应用程序不应该读取该目录。我尝试设置setReadable(),但没有解决它。内部存储器中是否有其他目录可供我使用


*或者,我是否可以告诉摄像头应用程序将图片保存在自己的文件目录中,并向我传递一个URI,我可以使用contentResolver读取该URI(就像我从gallery中选择图片时的方式)*

外部存储与可移动SD卡无关。今天不行。GetFileDir()是内部专用内存,其他AP无法访问。只需使用外部文件目录

外部存储与可移动SD卡无关。今天不行。GetFileDir()是内部专用内存,其他AP无法访问。只需使用外部文件即可。因此,您在更新的设备上说,即使用户没有SD卡,也可以使用外部内存?正确。对真的,谢谢你。如果你加上这个作为答案,我会把它作为最佳答案。