我在用
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(externalFileObj));
Intent 调用默认的摄像机 Activity 。要获取完整图像,您需要指定intent.putExtra()。但这总是需要仅适用于外部存储文件的URI。
我试图在内部存储器中创建temp.jpg图像并传递其URI
Uri.fromFile(new File(getFilesDir() + "/temp.jpg"));
但拍摄图像后,相机的 Activity 将不会返回。
因此,在不使用任何外部存储的情况下,没有办法从默认的相机应用程序中获取完整尺寸的图像吗? 假定该设备没有SD卡或当前正在使用,是否无法避免使用它?
是的,我知道我们可以创建自己的camerapreview曲面,但是我想使用默认的camera应用程序,因为它有很多选择,这很自然。
谢谢。
最佳答案
啊!我知道了。默认情况下,内部存储器中的文件目录是私有(private)目录,并且无法由外部应用程序写入(例如,相机应用程序为外部应用程序)
只需在应用程序空间(内部存储器)中以可写模式创建一个新目录,然后将此URI传递给摄像机Activity。而且一切正常。完全不需要外部存储。经过测试,工作正常。
关于android - 有什么方法可以将相机 Activity 返回的全尺寸图像存储在内部存储器中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4632231/