2
我有一个应用程序,允许用户使用手机的本机相机拍照,我不想实现相机的所有功能(我不想失去自动对焦,闪光灯或其他一些性质本机摄像头可能有),所以我做这样的判断:避免画廊保存在Android的相机拍摄的照片
File folder = new File(Environment.getExternalStorageDirectory(),"folder");
folder.mkdirs();
File nomedia = new File(folder,".nomedia");
try{
nomedia.createNewFile();
}catch (IOException e){
e.printStackTrace();
Log.e("error", e.getMessage());
}
File file = new File(folder,"image.jpeg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
imageUri = Uri.fromFile(file);
if(imageUri != null){
Log.i(TAG, "imageUri: " + imageUri.getPath());
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
}
然后在一个按钮,我有意向的执行:
startActivityForResult(imageIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
这很好用,它打开相机,我收到回调时,如果我用手机的文件浏览器查看文件夹,我可以看到图片以及我创建的“.nomedia”文件。
事情是,我不希望相机将这个图像存储在手机的画廊,因为,不知何故这是“神奇”;)添加到Android的画廊,我认为与添加“。 nomedia“文件并在单独的文件夹中创建图片,Gallery不会对其进行扫描。这个想法是,图片只用于应用程序的内部使用。
有没有办法避免这种情况?我真的搜索并尝试许多不同的方式,但我无法解决它。
我希望我的解释清楚。
在此先感谢!
我知道这可能没有帮助。但我前一段时间遇到同样的问题,不得不放弃。如果我没有记错的话,我尝试过的一种方式是将图片移动到应用程序专用存储中,并阻止了图库的显示,但这也阻止了自动缩略图的创建。 –
尝试添加句点'。'到您要存储图片的文件夹的前面。例如,在您的示例中,尝试切换到“.folder”作为您的目录名称。你还测试了什么设备? – FoamyGuy
我累了,但没有帮助@Tim,我使用的是Galaxy S Plus,但我在HTC Wildfire中也遇到了同样的问题。 – Kuu