我正在将PDFRenderer
与ParcelFileDescriptor
一起使用,以将Pdf显示为图像。如果提供了有效的Pdf文件,它将平稳运行。但是,在某些情况下,如果为其提供了无效/损坏的pdf文件,则该应用程序会崩溃并显示:
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0
在这种情况下也不会引发异常。
有什么办法可以确定pdf在android中是无效还是损坏?
try {
ParcelFileDescriptor mFileDescriptor = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
renderPage();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
private void renderPage() {
if (mFileDescriptor != null) {
try {
mPdfRenderer = new PdfRenderer(mFileDescriptor);
showPage(mPageIndex);
} catch (Exception e) {
e.printStackTrace();
}
}
}