美文网首页
android 内容提供者权限之分享对话框中的打印选项选中报错分

android 内容提供者权限之分享对话框中的打印选项选中报错分

作者: 吉凶以情迁 | 来源:发表于2024-06-02 16:53 被阅读0次

无法打印应该不是权限问题,而是pdf问题。
此文件在外部应用缓存目录下
fileProvider内容提供者必须不允许导出,

<?xml version="1.0" encoding="utf-8"?>
<paths>

<!--    <external-path path="Android/data/" name="files_root" />-->
    <cache-path path="."  name="match_cache_path" />
    <external-cache-path name="match_external_cache_path" path="." />
    <external-path path="/Android/data/" name="files_root" />
    <external-path path="." name="external_storage_root" />
    <external-path name="pic" path="Pictures" />
    <root-path path="" name="device_root"/>

</paths>

根本原因是不支持excel打印,
错误信息

             E  Cannot open file
                                                                                                    java.io.IOException: file not in PDF format or corrupted
                                                                                                        at android.graphics.pdf.PdfRenderer.nativeCreate(Native Method)
                                                                                                        at android.graphics.pdf.PdfRenderer.<init>(PdfRenderer.java:171)
                                                                                                        at com.android.printspooler.renderer.PdfManipulationService$PdfRendererImpl.openDocument(PdfManipulationService.java:90)
                                                                                                        at com.android.printspooler.renderer.IPdfRenderer$Stub.onTransact(IPdfRenderer.java:76)
                                                                                                        at android.os.Binder.execTransactInternal(Binder.java:1154)
                                                                                                        at android.os.Binder.execTransact(Binder.java:1123)
--------- beginning of crash
2024-06-03 16:50:16.752 28241-28241 AndroidRuntime          com.android.bips                     D  Shutting down VM
2024-06-03 16:50:16.753 28241-28241 AndroidRuntime          com.android.bips                     E  FATAL EXCEPTION: main
                                                                                                    Process: com.android.bips, PID: 28241
                                                                                                    java.lang.RuntimeException: Cannot print a malformed PDF file
                                                                                                        at android.print.PrintManager$PrintDocumentAdapterDelegate$MyHandler.handleMessage(PrintManager.java:1103)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                        at android.os.Looper.loop(Looper.java:223)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:7723)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)

有关分享报错的解决经典案例
android - Permission Denial: reading androidx.core.content.FileProvider trying to share a video file - Stack Overflow

android - Permission Denial while sharing file with FileProvider - Stack Overflow

android - Permission Denial with File Provider through intent - Stack Overflow

相关文章

网友评论

      本文标题:android 内容提供者权限之分享对话框中的打印选项选中报错分

      本文链接:https://www.haomeiwen.com/subject/yujsqjtx.html