java - 致命异常 : java. lang.IllegalArgumentException

当我在 Android Q 设备上测试打印 PDF 功能时,我突然遇到了这个问题。它在 Android P 之前一直运行良好。我尝试在互联网上寻找解决方案,但没有用。任何帮助都会很好。

最佳答案

我在升级到 API 级别 31 时遇到了这个问题。

这是因为在我的 pdfprint 类中,有一行代码带有 :

if (file.createNewFile()) {
    return ParcelFileDescriptor.open(file, 

ParcelFileDescriptor.MODE_READ_WRITE);

通过添加在创建文件之前删除文件的代码,它工作正常

if (file.exists()) file.delete();

if file.createNewFile()
    return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE);

我使用的代码是基于我在 Internet 上找到的代码,所以我没有花时间清理它,但它解决了我的问题。

关于java - 致命异常 : java. lang.IllegalArgumentException fd 只能在 Android Q 中的 PrintAdapter 类的 onwrite() 中为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63615013/

相关文章:

linux - 安装包 : installed grub-efi-amd64 package pos

javascript - 如果导航到 React Native 中的其他屏幕,如何保留 formik

mongodb - Azure cosmosDB : Getting error on sortin

javascript - Greasemonkey 用户脚本被内容安全策略阻止

html - CSS Grid - 在自动流列上自动生成新的行中断

markdown - 如何在 Sublime Text 3 中为 Markdown 启用 Emmet

php - 如何使用 line bot webhook 请求在线路组中使用 @mention/@ta

python - (-212 :Parsing error) in Object Detection

python-attrs - attrs转换器的装饰器

apache-flink - Apache Flink JobListener 无法正常工作