3

I am developing an android application, where I download pdf files. So I create a file called NameProject where I put all downloaded pdfs. I can access this file via my application and also via other application like File Manager. The android file system is open so I need to protect downloaded files from being accessed outside the app itself.

Can I do that? If yes, any ideas will be appreciated.

Thanks

4

2 回答 2

1

这里不是安卓专家。因此,我不知道如何在不同的应用程序之间保护文件。但无论如何,如果设备是植根的,那么即使是那个也无关紧要。

虽然这不是我宽恕或实践的事情,但你唯一的希望是默默无闻的安全。我的意思是,当您将这些文件放到应用程序文件系统空间时,使用加密模式并加密文件。确保在您的应用程序中有一个解密算法。在这里,我假设这些将是只读文件,因为您提到了 PDF。如果没有,即如果最终用户能够编辑和保存它们,那么您的应用程序中也需要加密功能。

我想你明白了我要去哪里的要点,有了这个。

  1. 最终用户启动应用程序并选择要显示的文件
  2. 应用程序将该文件解密为临时名称
  3. 一个。(可选)用户编辑并保存文件
  4. 湾。(可选)应用程序加密文件并将其保存为原始名称
  5. 应用程序删除临时的、未加密的文件

根据这一点的重要性,无法在应用程序之外访问,对您来说,您可能希望将此逻辑包装到另一组条件和针对它们的措施中。

但毕竟,坚定的头脑可以而且最终会找到破解它们的方法。特别是如果您将应用程序发布到野外,即互联网。在受控的企业环境部署中,您有更好的机会通过企业政策等将它们保密更长时间。但是,最终,这是徒劳的。它只会为你争取一些时间。多少时间,是唯一的问题。

希望这可以帮助

于 2012-11-15T21:31:34.467 回答
1

下载文件到应用程序内部存储目录(/data/data/ packagename),没有root权限是不能访问的。但是只保留必要的文件,因为许多手机的内部存储器都很小。

File appdir = context.getDir("mydir", Context.MODE_PRIVATE);

File fileWithinAppDir = new File(appdir, "appfile");

于 2012-11-15T21:32:31.517 回答