我正在尝试使用简单的应用程序来测试打印WebView页面。
以下是我的简单代码
WebView webView = new WebView(this);
webView.LoadUrl("https://www.google.com");
PrintDocumentAdapter adapter = webView.CreatePrintDocumentAdapter("test");
PrintManager printMgr = (PrintManager)GetSystemService(PrintService);
printMgr.Print("printTest", adapter, null);
myWebView = webView;
但是,它正在WebView.CreatePrintDocumentAdapter("test")
方法中生成异常,如下所示。
Java.Lang.NoSuchMethodError: no method with name='createPrintDocumentAdapter' signature='(Ljava/lang/String;)Landroid/print/PrintDocumentAdapter;' in class Landroid/webkit/WebView;
请注意,我已在Android清单中包含互联网和网络状态权限。是什么造成的?如果此异常阻止它,我怎么能创建打印功能?
我使用的设备是Samsung SM-G7102(Android 4.4 - API 19)
任何帮助都将不胜感激。
答案 0 :(得分:5)
CreatePrintDocumentAdapter(String documentName)
。
您可以在运行时进行VERSION.SdkInt
检查并调用相应的方法:
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
adapter = webView.CreatePrintDocumentAdapter("test");
else
adapter = webView.CreatePrintDocumentAdapter();
re:https://developer.android.com/reference/android/print/PrintDocumentAdapter.html