在构建我的android项目时,我发出警告,“newPrintDocumentAdapter”已被弃用。它是WebView上的一种方法。
我一直在寻找,但一直无法找到预期的替代品。任何人都可以对此有所了解吗?
谢谢, 杰森
答案 0 :(得分:6)
根据Javadoc for createPrintDocumentAdapter():
此方法在API级别21中已弃用。
使用createPrintDocumentAdapter(String),要求用户提供打印文档名称。
因此,如果你需要支持< API 21继续使用当前方法,但在API 21+设备上,请使用createPrintDocumentAdapter(String)
答案 1 :(得分:4)
根据接受的答案和official example:
@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);
}