android - 专有文件格式或加密以限制对文件的访问 (Android)

标签 android file security pdf encryption

我们有一个 Android 应用程序,允许最终用户下载和打开从我们的服务器托管的文件。这些可以是 PDF、mp4 等。但是我们不希望用户能够从操作系统文件系统启动这些文件:我们希望打开这些下载文件的唯一方法是通过我们自己的应用程序。

是否可以通过创建专有文件格式或使用我不知道的一些加密来实现?如果是这样,我们是否需要创建自己的 PDF 阅读器来解析我们开发的模糊性,或者是否有某种方法可以在内部“解密”文件,然后在标准的第 3 方 PDF 查看器中打开它?

最佳答案

Internal storage专为保存您的应用管理访问权限的内容而设计。这与 external storage 形成对比(用户拥有同等控制权)和 removable storage (用户拥有更大的控制权)。

如果您将内容下载到内部存储,您可以使用 FileProvider 有选择地向查看器应用等授予对该内容的短期访问权限。

这并不完美:

  • root 设备用户可以获取内容,但他们也可以击败您的其他技术

  • 查看者可能有自己的“另存为”或“共享”或类似的方式将内容保存在用户控制的某处

但是,这与内容在大多数平台上的运作方式并无显着差异。

关于android - 专有文件格式或加密以限制对文件的访问 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039389/

相关文章:

Android: 在 galaxy s2 中使用 Debug模式

android - RelativeLayout 的替代方案?

android - 如何从 View 类中获取 View ?

android - 相当于Android SDK LinearLayout中的 "overflow"属性?

.NET:如何使用现有实例打开文件?

python - selenium 脚本抛出无效参数错误

java - 安全的 Java Web 服务

python - 从 Python 打开另一个文件并终止脚本

html - 在经典 ASP 中自动 HTML 转义变量输出的机制?

php - 安全措施 - 何时以及如何