android - 有什么方法可以将相机 Activity 返回的全尺寸图像存储在内部存储器中?

标签 android camera android-intent

我正在使用

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(externalFileObj));

调用默认相机 Activity 的 Intent 。要获得完整图像,您需要指定 intent.putExtra()。但这始终需要仅适用于外部存储文件的 URI。

我试图在内存中创建一个 temp.jpg 图像并传递它的 URI

Uri.fromFile(new File(getFilesDir() + "/temp.jpg"));

但相机 Activity 在拍摄图像后不会返回。

因此,如果不使用任何外部存储设备,就无法从我们的 Activity 中的默认相机应用程序获取全尺寸图像吗?假设设备没有 SD 卡或当前正在使用,则没有办法我可以避免使用它吗?

是的,我知道我们可以创建自己的相机预览表面,但我想使用默认的相机应用程序,因为它有更多选项是很自然的。

谢谢。

最佳答案

啊!我知道了。您在内存中的文件目录默认是私有(private)的,外部应用程序不可写(例如相机应用程序是外部应用程序)

只需在你的应用程序空间(内存)中以可写模式新建一个目录,并将这个URI传递给相机Activity。一切正常。根本不需要外部存储。已经过测试并且工作正常。

关于android - 有什么方法可以将相机 Activity 返回的全尺寸图像存储在内部存储器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632231/

相关文章:

iOS:关于 GLKMatrix4MakeLookAt 结果中的相机信息的问题

java - Android:如何在不将屏幕截图保存到 SD 卡的情况下在电子邮件中发送屏幕截图?

java - 如果条件满足,如何转到Android中的另一个 Activity ?

安卓锁屏: activity started first when mobile on

ios - 如何在应用程序中使用钛的所有选项打开默认相机?

Android Youtube API JSON-C 使用 GSON 解析

c++ - opencv无法访问模拟相机

java - 有意停止服务

android - 无法通过存储访问框架加载扩展名为 .gpx 的文件

android - Listview 和 CustomAdapter 扩展 SimpleCursorAdapter