createPrintDocumentAdapter替换

Jas*_*ray 7 printing android

构建我的android项目时,我收到一条警告,提示“ createPrintDocumentAdapter”已被弃用。它是WebView上的一种方法。

我一直在寻找,但一直找不到想要的替代品。谁能对此有所启发?

谢谢,杰森

ian*_*ake 7

对于createPrintDocumentAdapter()的Javadoc:

API级别21中不推荐使用此方法。

使用createPrintDocumentAdapter(String),它要求用户提供打印文档名称。

因此,如果您需要支持<API 21,请继续使用当前方法,但在API 21+设备上,请使用 createPrintDocumentAdapter(String)


ban*_*ing 6

基于接受的答案和官方示例:

@SuppressWarnings("deprecation")
private static void createWebPrintJob(Context context, WebView webView) {

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

    String jobName = context.getString(R.string.app_name) + " Document";

    // Get a print adapter instance
    PrintDocumentAdapter printAdapter;
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        printAdapter = webView.createPrintDocumentAdapter(jobName);
    }
    else {
        printAdapter = webView.createPrintDocumentAdapter();
    }

    // Create a print job with name and adapter instance

    PrintJob printJob = printManager.print(jobName, printAdapter,
            new PrintAttributes.Builder().build());

    // Save the job object for later status checking
    mPrintJobs.add(printJob);

}
Run Code Online (Sandbox Code Playgroud)