PdfRenderer在Android API中不断崩溃25

lyr7nygr  于 2022-12-16  发布在  Android
关注(0)|答案(1)|浏览(206)

我使用PdfRenderer在Android API 25中渲染PDF预览:

var parcelFileDescriptor: ParcelFileDescriptor? = null
var pdfRenderer: PdfRenderer? = null
var firstPage: PdfRenderer.Page? = null
try {
    val file = File(filePath)
    parcelFileDescriptor = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY)
    pdfRenderer = PdfRenderer(parcelFileDescriptor) // it throw exception or crash from here
    firstPage = pdfRenderer.openPage(0)
    // Do something with firstPage
} catch (e: Exception) {
    e.printStackTrace()
} finally {
    firstPage?.close()
    pdfRenderer?.close()
    parcelFileDescriptor?.close()
}

但是在第一次调用时,它抛出了java.lang.SecurityException: cannot create document. Error: 4。从第二次或第三次调用开始,它没有响应,并在本机中崩溃。我只是从一个线程调用它,所以没有并发问题。有人能帮助我吗?

zed5wv10

zed5wv101#

我发现尝试在Android〈P上打开密码保护的PDF文件会导致崩溃:https://issuetracker.google.com/issues/37052344 .
要做的是在打开之前检查pdf文件是否加密。

相关问题