我们有一个 Android 应用程序,允许最终用户下载和打开从我们的服务器托管的文件。这些可以是 PDF、mp4 等。但是我们不希望用户能够从操作系统文件系统启动这些文件:我们希望打开这些下载文件的唯一方法是通过我们自己的应用程序。
是否可以通过创建专有文件格式或使用我不知道的一些加密来实现?如果是这样,我们是否需要创建自己的 PDF 阅读器来解析我们开发的模糊性,或者是否有某种方法可以在内部“解密”文件,然后在标准的第 3 方 PDF 查看器中打开它?
最佳答案
Internal storage专为保存您的应用管理访问权限的内容而设计。这与 external storage 形成对比(用户拥有同等控制权)和 removable storage (用户拥有更大的控制权)。
如果您将内容下载到内部存储,您可以使用 FileProvider
有选择地向查看器应用等授予对该内容的短期访问权限。
这并不完美:
root 设备用户可以获取内容,但他们也可以击败您的其他技术
查看者可能有自己的“另存为”或“共享”或类似的方式将内容保存在用户控制的某处
但是,这与内容在大多数平台上的运作方式并无显着差异。
关于android - 专有文件格式或加密以限制对文件的访问 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039389/