猿问

如何使用本地Android相机捕获图像并将其存储

我在从本地相机应用程序捕获图像并将其存储时遇到问题。这是我的一些代码示例。


_path = Environment.getExternalStorageDirectory() + "make_machine_example.jpg";

File file = new File( _path );

Uri outputFileUri = Uri.fromFile( file );


Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );

intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );


startActivityForResult( intent, 0 );

拍照后,我又回到了原来的活动,当我通过Android DDMS File Explorer导航到我的SD卡时,照片就不在那里了。有人知道为什么不保存吗?


一只萌萌小番薯
浏览 520回答 3
3回答

扬帆大鱼

您是否检查过Environment.getExternalStorageDirectory()的输出是什么,因为如果它不包含尾随文件分隔符(/),那么您的映像将最终位于一个不位于SD卡上的目录中,例如: /mnt/sdcardmake_machine_example.jpg当您真正想要的是: /mnt/sdcard/make_machine_example.jpg请尝试以下代码: _path = Environment.getExternalStorageDirectory() + File.separator +  "make_machine_example.jpg";

MYYA

1。只需使用new File(Environment.getExternalStorageDirectory(),  "make_machine_example.jpg");而且不要理会分隔符。2。以前也遇到过同样的问题。SenseUI手机具有不创建文件的自定义相机应用程序。您正在使用什么设备?它可能已在最新设备中修复,但仍然可能是一个问题。因此,这里有一个完整的示例,介绍了如何克服它。将照片保存到文件时出现问题。
随时随地看视频慕课网APP

相关分类

Android
我要回答