我可以使用以下方法将图像保存在磁盘中:
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = imageId + ".png";
String filePath = baseDir + File.separator + fileName;
File file = new File(filePath);
if(!file.exists())
{
out = new FileOutputStream(baseDir + File.separator + fileName);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
}
但是所有保存的图像都可以在手机图库中看到..我怎样才能将它们隐藏起来给用户?我的appliaction有一个私人文件夹吗?
由于
答案 0 :(得分:1)
public File getAlbumStorageDir(Context context, String albumName) {
// Get the directory for the app's private pictures directory.
File file = new File(context.getExternalFilesDir(
Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
return file;
}
我认为这就是你想要的。请阅读https://developer.android.com/training/basics/data-storage/files.html#WriteExternalStorage以获取更多信息。
答案 1 :(得分:0)
使用Context.getFilesDir()
而不是Environment.getExternalStorageDirectory()
将其保存到内部存储空间。
来自文档:
此处保存的文件默认只能由您的应用访问。
检查this link。