当我在 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/