其他分享
首页 > 其他分享> > android – 如何通过反射使用KitKat 4.4 print API打印WebView?

android – 如何通过反射使用KitKat 4.4 print API打印WebView?

作者:互联网

我需要支持在KitKat设备上打印,但我的目标SDK是13(更改不是一个选项).

具体来说,我需要打印一个webview.

这是用于打印webview的API:
http://developer.android.com/training/printing/html-docs.html

解决方法:

这是一个旧的,但打印是有用的,所以这可能是正常工作的好. (没有反思;))

使用设备版本的更好方法.不需要try-catch,只需要在返回之前添加一些消息,或者只是隐藏按钮/菜单/ …取决于相同的条件.

@TargetApi(Build.VERSION_CODES.KITKAT)
    private void createWebPrintJob(WebView webView) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) 
            return;

        // Get a PrintManager instance
        PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);

        // Get a print adapter instance
        PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();

        // Create a print job with name and adapter instance
        String jobName = getString(R.string.app_name) + " Document";
        printManager.print(jobName, printAdapter,
                new PrintAttributes.Builder().build());

    }

printJob将仅使用SDK 19及更高版本执行

标签:android,printing,android-4-4-kitkat,android-print-framework
来源: https://codeday.me/bug/20191008/1874309.html