Xamarin Android没有这样的方法WebView.CreatePrintDocumentAdapter

Dar*_*her 2 android webview xamarin.android xamarin

我正在尝试制作一个简单的应用程序来测试打印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;
Run Code Online (Sandbox Code Playgroud)

但是,它在WebView.CreatePrintDocumentAdapter("test")方法中生成异常,如下所示。

Java.Lang.NoSuchMethodError: no method with name='createPrintDocumentAdapter' signature='(Ljava/lang/String;)Landroid/print/PrintDocumentAdapter;' in class Landroid/webkit/WebView;
Run Code Online (Sandbox Code Playgroud)

请注意,我在Android清单中包含了Internet和网络状态权限。是什么原因造成的?如果此异常阻止了打印功能,我该如何创建它?

我正在使用的设备是Samsung SM-G7102(Android 4.4-API 19)

任何帮助将不胜感激。

Sus*_*ver 5

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();
Run Code Online (Sandbox Code Playgroud)

回复:https//developer.android.com/reference/android/print/PrintDocumentAdapter.html