13

我正在使用相机活动来捕捉图片。我用MediaStore.EXTRA_OUTPUT额外参数调用它。图像正确保存到提供的路径,也保存到画廊文件夹,所以我可以在“画廊”应用程序中查看图像 - 我可以避免这种情况吗?

...
File file = new File(Environment.getExternalStorageDirectory(), "Test.jpg" );
iImageOutputUri = Uri.fromFile( file );

// Start camera intent to capture image
Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, iImageOutputUri );
startActivityForResult( intent, CAPTURE_IMAGE );
...

谢谢

4

3 回答 3

2

只需替换您的代码

File file = new File(Environment.getExternalStorageDirectory(), "Test.jpg" );

使用以下代码

File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "Test.jpg");

getExternalFilesDir() 的描述: 返回主外部文件系统上目录的绝对路径(即Environment.getExternalStorageDirectory())应用程序可以放置其拥有的持久文件的位置。这些文件是应用程序的内部文件,通常不作为媒体对用户可见.

于 2014-01-27T08:47:48.947 回答
0

用非图像扩展名保存图像怎么样?像 michael.photo 之类的东西而不是 michael.jpg/png 等。这样,Gallery 应用程序不会接受它们,我见过很多这样的应用程序 keepsafe 例如这样做。

于 2013-10-28T09:13:21.003 回答
-3

我不相信你可以避免这种情况。图库应用程序会在您的 SD 卡中查找图像并自动显示它们。

于 2011-03-14T18:27:54.387 回答