是否可以不允许用户访问指定文件夹?

时间:2014-05-13 10:43:17

标签: android local-storage file-permissions permission-denied android-permissions

有没有办法做到这一点Is possible not allow user access the specify folder?由我创建,

实际上从URL下载图像后。我想将一些图像存储到此文件夹中,

但我不想让用户可以去那里。

知道的人请帮助我,

谢谢,

3 个答案:

答案 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访问任何文件。你可以做的是存储加密的文件,这样即使他们访问,他们也无法看到你的图像。

相关问题