问题描述
当我在Android Q设备上针对Print PDF功能进行测试时,突然遇到了这个问题。在Android P之前,它的运行情况都很好。我试图在互联网上找到解决方案,但没有用。任何帮助都会很好。
解决方法
我通过参考以下官方文档获得了解决方案:Android 10 Privacy
我们必须添加:
android:requestLegacyExternalStorage="true"
在清单文件的应用程序标记中,对于版本> = 29。
The documentation:
如果{@code true},则此应用希望在旧版存储下运行 模型。请注意,由于政策或 向后兼容的原因。应用不请求旧版存储 可以继续通过以下方式发现和读取属于其他应用的媒体 {@code MediaStore}。默认值为:-对于应用,{@ code false} targetSdkVersion> = 29(Q)。 -{@code true}适用于具有 targetSdkVersion 29。
尽管这篇文章指出,将从Android 11开始引入作用域存储,因此从Android 11开始将无法解决这一问题。
在这里
为了给开发人员更多时间进行测试,针对性应用 Android 10(API级别29)仍可以请求 requestLegacyExternalStorage属性。
因此,您必须强制性地跳到适用于> = Android 11的作用域存储。
希望此解决方案可以帮助某人。