0
私のAndroidプリントクラスでは、時にはonRrite関数でPageRangeのパラメータがnullになり、オーバーライド関数であり、値がAndroidフレームワークから渡された場合、原因を見つける必要があります時には(100%ではない)nullですか?それはデバイスの問題ですか?誰かがこれに会ったことがありますか?コードとログは以下の通りです:あなたが明示的にページを抽出する必要がない限りAndroid PrintManager PageRange is null
class PdfFragmentPrintDocumentAdapter extends PrintDocumentAdapter{
public void onWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) {
........
callback.onWriteFinished(pages);
}
.........
java.lang.IllegalArgumentException: pages cannot be empty
at android.print.PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback.onWriteFinished(PrintManager.java:961)
at com.microsoft.pdfviewer.PdfFragmentPrint$PdfFragmentPrintDocumentAdapter$2.run(PdfFragmentPrint.java:265)
at com.microsoft.pdfviewer.PdfFragmentPrint$PdfFragmentPrintDocumentAdapter.implementOnWriteInDedicatedThread(PdfFragmentPrint.java:278)
at com.microsoft.pdfviewer.PdfFragmentPrint$PdfFragmentPrintDocumentAdapter.onWrite(PdfFragmentPrint.java:213)
at android.print.PrintManager$PrintDocumentAdapterDelegate$MyHandler.handleMessage(PrintManager.java:792)
onWriteはキャンセル信号を受け入れるためです。 – newszer
誰かがonWriteキャンセルを処理する方法を知っていますか?私はonWriteCancelled();を呼び出しますが、それでもonWriteFinished()は実行されます。 – newszer