我正在开发一个Android应用程序,它将从库中选择一些照片并隐藏它们,
我可以从图库中选择特定的图片并将其存储在我的应用中并从图库中删除,但是如果他在sdcard中打开我的应用文件夹,那么一个人可以看到这些图片,那么我如何存储它们,即使一个人检查我的SD卡然后他应该无法检测到那些图片?
答案 0 :(得分:11)
唯一安全的方法是自己加密图像数据并删除原始文件,只留下您的应用程序能够解密文件。
看看How to encrypt file from SD card using AES in Android?,了解如何做到这一点。
作为附加步骤,您还可以使用任意数量的其他答案来隐藏加密文件
答案 1 :(得分:7)
如果您想阻止图库显示应用程序文件夹中的图像,可以将名为.nomedia
的文件放在该文件夹中。
来源:https://stackoverflow.com/a/6713863/450534
如果您想要隐藏该文件夹,例如文件管理器,请确保您的文件夹以期间(。)开头。例如,如果文件夹名为 myfolder ,则应将其创建为 .myfolder
来源:https://stackoverflow.com/a/5878270/450534
请注意,用户可以更改文件管理器的设置以显示隐藏的文件和文件夹。为此,没有解决方案。
答案 2 :(得分:2)
如果要隐藏文件夹,只需添加'。'作为文件夹名称的前缀。
答案 3 :(得分:1)
如果您想阻止图库显示应用程序文件夹中的图像,您可以将名为.nomedia的文件放在该文件夹中。
如果要隐藏文件夹,例如文件管理器,请确保文件夹以句点(。)开头。例如,如果文件夹名为myfolder,则应将其创建为.myfolder
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath()
+ "/.myFolder" );
答案 4 :(得分:0)
看到这个。 更多的是执行一步。他们也隐藏数据和文件夹。
答案 5 :(得分:0)
将您的SD卡文件夹路径用作
Environment.getExternalStorageDirectory().toString()+context.getPackageName+"//data//data//"+"(.folderName)";
这将为您的图像提供最大的安全性,如果用户手机未植根,则此路径从各个方面都是安全的。