【发布时间】:2019-11-25 15:23:40
【问题描述】:
在我的 Android 应用程序中,我需要从 FileProvider 公开一些文件。没有加密,这很容易:我只需将FileProvider 添加到manifest.xml。
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
我需要接收一些文件,加密它们(将其秘密存储在数据库中),然后使用 FileProvider 公开它们。我该怎么做?
谢谢
【问题讨论】:
-
加密文件仍然是文件,对吧?或者您是否希望有一些特定的自动化,以便您收到解密的文件?
-
我需要在本地文件系统上存储一个加密文件,但我希望导出解密文件。
-
我猜这个技巧隐含在文档的这一部分中:“如果你想覆盖
FileProvider方法的任何默认行为,扩展FileProvider类 并在<provider>元素的 android:name 属性中使用完全限定的类名。“但我没有尝试过,所以我不能确定。 -
否则
ContentProvider可能更有意义... -
问题(和目标答案)是如何编写从加密文件开始提供未加密文件的 FileProvider/ContentProvider 吗?我也会对此感兴趣。
标签: java android cryptography android-fileprovider fileprovider