在我的应用程序中,我创建了一个位图并将其保存为SD卡中的JPG图像。我不希望任何其他应用程序使用此图像。这在Android中是否可行?任何帮助将不胜感激。
答案 0 :(得分:7)
除非您加密文件,否则您无法阻止访问SD卡上的文件 (参见外部存储here部分)
保存到外部存储的文件是世界可读的,可以 当用户启用USB海量存储转移时由用户修改 计算机上的文件。
相反,请考虑将其放入internal storage,然后您的应用程序将是唯一可以访问它的应用程序。
另一种选择,如果你只需要将它从媒体扫描仪中隐藏起来就是给它一个以点(.myfile.jpg
)开头的名称,这将使它成为一个隐藏文件。 (如果您想要以这种方式隐藏多个文件,请包含名为.nomedia
的空文件(请参阅Saving files that should be shared),这样您就不必重命名了所有文件。
答案 1 :(得分:1)
存储图像时,请将文件的扩展名更改为其他内容,以便其他应用程序无法识别。但是,当您想在应用中使用它时,请将扩展名更改回.bmp或.jpg!
答案 2 :(得分:1)
使用特定于应用程序的数据库并将图像保存在那里,而不是将其保存在SD卡上。然后只有您的应用程序可以访问我这样做是为了加密我的应用程序中的图像,只是保存一个BASE64编码的图像字符串,在其上执行加密stuf,反之亦然。如果您保存图像文件的字节数组,这也可以。
答案 3 :(得分:0)