如何在SD卡中创建私人文件夹

时间:2012-05-28 06:57:48

标签: android sqlite

我的应用程序用于安全目的。因此,从我的应用程序用户捕获照片,所有照片都存储在文件夹中,该文件夹不应从任何其他应用程序访问,并且在设备连接到计算机系统时不应提供访问权限。如果用户想要查看这些图像,则只能从我的应用程序访问。

5 个答案:

答案 0 :(得分:7)

根据此guide,您可以将文件直接保存在设备的内部存储中。默认情况下,保存到内部存储的文件对应用程序是私有的,而其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,将删除这些文件。 例如:

String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

MODE_PRIVATE将创建文件(或替换同名文件)并将其作为应用程序的私有文件。其他可用模式包括:MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

答案 1 :(得分:2)

唯一的方法,AFAIK是encrypt您存储的文件。无法阻止用户安装SD卡来访问存储在其中的每个文件。

答案 2 :(得分:0)

根据此相关问题,您只能在内部存储中创建受保护的文件(而不是在SD上)...

Create Folder that can not accessible by any other application

答案 3 :(得分:0)

尝试以下解决方案:

How to store a file in Hidden mode

虽然这不是你想要的,但我怀疑它是否可能。最好的选择是隐藏它,但也适用于约束(适用于Linux而不适用于Windows,还有其他应用程序可以访问该文件夹)

How to hide the folder of sdcard in android

How to make a file hidden in android sd card?

答案 4 :(得分:0)

当设备连接到PC时,它无法访问该文件夹..此外,它也不可能在SD卡上, 但是,您可以对只能从应用程序打开的图像使用不同的格式,或者可以加密图像。 或者,如果要隐藏图像以将其显示到图库中,可以将名称为" .nomedia"的空白文件放入其中。在你的文件夹中。 但是,如果您阅读有关WRITE_EXTERNEL_STORAGE权限的文档,您将会理解我所说的内容,这是不可能的。 :)