[英]Make images and folder invisble to Gallery saved on SDcard?
嗨,我想让图像对 android 画廊或任何第三方画廊应用程序不可见,图像将放在 SD 卡上的特定文件夹中。
例如,我有以下代码将图像保存到名为 myimages 的文件夹中。 我只希望存储在 myimages 文件夹中的图像对任何图库应用程序不可见,并且只有我自己的应用程序可以访问这些图像。
void saveBitmap(Bitmap bmp)
{
FileOutputStream os;
String dirName = "/mvc/mvc/myiamges/";
try {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)){
String root = Environment.getExternalStorageDirectory()
.toString();
File dir = new File (root + dirName);
boolean created=dir.mkdirs();
//File file = new File(this.getExternalFilesDir(null),
// this.dirName+fileName);
//this function give null pointer exception so im
//using other one
File file = new File(dir, "aeg2.png");
os = new FileOutputStream(file);
}else{
os = openFileOutput("aeg2.png", MODE_PRIVATE);
}
bmp.compress(CompressFormat.PNG, 100, os);
os.flush();
os.close();
}catch(Exception e){
e.printStackTrace();
}
}
是的,用你想要的任何扩展名保存它,甚至没有扩展名。
在您的应用程序中,只需将其作为普通图像文件读取即可。
在名为“.nomedia”的图像存储文件夹中创建一个空文件<-注意初始点。 此文件夹内的所有媒体文件都不会显示在画廊浏览器中。
使用自定义扩展名重命名这些文件,例如 filename.extension.customextension
像 hello.avi.topsecret。
当您需要文件准备好模式播放时,将其重命名为正确的扩展名,播放并重命名。
这应该对你有用。
要么
使用点“.”作为文件夹名称的前缀。
查看这些链接以获取更多信息:
http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.