我正在尝试制作简单的应用程序来测试打印 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 list 中包含互联网和网络状态权限。是什么原因造成的?如果此异常阻止我如何创建打印功能?
我使用的设备是 Samsung SM-G7102 (Android 4.4 - API 19)
如有任何帮助,我们将不胜感激。
最佳答案
CreatePrintDocumentAdapter(String documentName)
已在 API 21 中添加。
您可以在运行时执行VERSION.SdkInt
检查并调用适当的方法:
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
adapter = webView.CreatePrintDocumentAdapter("test");
else
adapter = webView.CreatePrintDocumentAdapter();
回复:https://developer.android.com/reference/android/print/PrintDocumentAdapter.html
关于android - Xamarin Android没有这样的方法WebView.CreatePrintDocumentAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42825108/