5

在我的应用程序中,我创建了一个位图并将其保存为 SD 卡中的 JPG 图像。我不希望任何其他应用程序使用此图像。这在android中可能吗?任何帮助将不胜感激 。

4

4 回答 4

8

除非您加密文件,否则您无法阻止访问 SD 卡上的文件。(请参阅此处
的外部存储部分)

保存到外部存储的文件是世界可读的,并且可以由用户在启用 USB 大容量存储以传输计算机上的文件时进行修改。

而是考虑将其放在内部存储中,然后您的应用程序将是唯一可以访问它的应用程序。

另一种选择是,如果您只需要从媒体扫描仪中隐藏它,则可以给它一个以点 ( .myfile.jpg) 开头的名称,这将使其成为隐藏文件。(如果您有多个要以这种方式隐藏的文件,请包含一个带有名称的空文件.nomedia(请参阅保存应该共享的文件),这样您就不必全部重命名)

于 2013-11-14T10:29:19.227 回答
1

存储图像时,将文件的扩展名更改为其他内容,以免其他应用程序识别它。但是当您想在您的应用程序中使用它时,请将扩展名改回 .bmp 或 .jpg!

于 2013-11-14T10:30:51.080 回答
1

使用特定于应用程序的数据库并将图像保存在那里,而不是将其保存在 SD 卡上。然后只有您的应用程序可以访问。我这样做是为了加密我的应用程序中的图像,只需保存一个 BASE64 编码的图像字符串,在其上进行加密,反之亦然。如果您保存图像文件的字节数组,这也将起作用。

于 2013-11-14T10:31:02.127 回答
0

方法 1 – 创建一个 .nomedia 文件。

使用任何文件资源管理器/管理器应用程序(例如 Astro 文件管理器或文件专家),导航到要隐藏的目录并创建一个名为“.nomedia”的空文件。这样做的一种方法是:

将现有文本 (.txt) 甚至图像 (.jpg/.jpg) 文件复制到所述目录,在文本编辑器中打开它(按住文件并从出现的上下文菜单中选择适当的选项),删除其内容(按住文本,全选并删除),保存更改并退出,将其重命名为“.nomedia”(再次按住文件并从其上下文菜单中选择重命名)。此方法禁用所选目录上的媒体扫描,导致库在启动时完全跳过该目录。

在此处输入图像描述

于 2017-08-21T09:35:04.033 回答