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

标签 android xamarin webview xamarin.android

我正在尝试制作简单的应用程序来测试打印 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/

相关文章:

Android:在 web View 中显示带有 url 的图像时出现问题

ssl - webview_flutter "Failed to validate the certificate chain"SSL握手失败错误

javascript - WKWebView - Javascript 确认和警报不起作用

android - 如何在其中添加带有textview的彩色矩形

java - Android 中 "IF STATEMENT"的行为非常奇怪

c# - 使用 WCF (IIS 7.5) 从数据库获取值时出现系统错误

android - 为什么我的 Xamarin Android 应用程序突然需要外部存储权限?

java - 引起的java.lang.UnsupportedOperationException : addView(View,layoutParams)在AdapterView中不受支持

android - 如何使用 ScnViewGestures.Forms 在 Xamarin.Forms 中创建包含 TouchDown 和 TouchUp 事件的 View

Android AlarmManager 报警启动服务