有没有办法做到这一点Is possible not allow user access the specify folder?
由我创建,
实际上从URL下载图像后。我想将一些图像存储到此文件夹中,
但我不想让用户可以去那里。
知道的人请帮助我,
谢谢,
答案 0 :(得分:2)
您可以将文件存储在内部存储中,如下所示
try {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
Bitmap bm = BitmapFactory.decodeStream(is);
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
File file = new File(directory, System.currentTimeMillis() + ".png");
FileOutputStream fos = openFileOutput(file.getAbsolutePath(), Context.MODE_PRIVATE);
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
byte[] byteArray = outstream.toByteArray();
fos.write(byteArray);
fos.close();
} catch (Exception e) {
}
答案 1 :(得分:1)
您可以将文件存储在internal storage中。默认情况下,此存储是私有的。存储在外部SD卡上的文件不能设为私有。
内部存储
您可以直接在设备的内部存储上保存文件。默认情况下,保存到内部存储的文件对应用程序是私有的,而其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,将删除这些文件。
外部存储
保存到外部存储器的文件是世界可读的,当用户启用USB海量存储器在计算机上传输文件时,用户可以对其进行修改。
答案 2 :(得分:1)
您无法阻止用户访问Linux系统中的任何文件。他们可以root访问任何文件。你可以做的是存储加密的文件,这样即使他们访问,他们也无法看到你的图像。