我FileProvider
用来与其他应用程序共享文件。我需要将这些文件包含在 apk 中。由于FileProvider
从内部存储中获取文件/data/data/<pkg-name>
,有没有办法预加载这些文件?到目前为止,我发现的唯一方法是首先将文件包含在 raw/assets 目录中,然后以编程方式将文件移动到内部存储中。
这是唯一的方法,还是有更好的推荐方法?FileProvider 可以从 assets 目录传输文件吗?
问问题
617 次
2 回答
2
您不能用于FileProvider
从资产目录传输文件。您将必须实现自己的ContentProvider
.
以下是类似的问题以及可以帮助您的答案:
您还可以使用CWAC-Provider,它提供了一个处理资产的类:https ://github.com/commonsguy/cwac-provider/blob/master/provider/src/main/java/com/commonsware/cwac/provider/StreamProvider .java
于 2017-08-22T13:17:40.420 回答
0
另一种方法可能是使用 APK 扩展文件:扩展文件
它允许您通过应用程序发送其他文件,尤其是当您的 APK 达到 100 MB 限制时。
扩展文件保存在以下路径:<shared-storage>/Android/obb/<package-name>/
,可以通过getObbDir()检索。
于 2017-08-23T05:59:06.853 回答