首页 > 解决方案 > Android错误:getDefinedWebViewPackageName没有这样的方法

问题描述

我收到一条错误消息;

/com.myapp,name E/WebViewFactory: No such method for getDefinedWebViewPackageName: 
     java.lang.NoSuchMethodException: getDefinedWebViewPackageName []

据我所知,此错误Logcat不会影响应用程序的运行。

对于 Webview,JavaScript 由

 webview.getSettings().setJavaScriptEnabled(true);

并且,测试设备是使用 8.1 版的 Android One

标签: androidwebview

解决方案


因为您直接无法知道使用 getDefinedWebViewPackageName 并给出异常的方法或代码行。尝试找出是否有任何第三方库使用它。因为在我的情况下,razorpay 结帐预加载方法正在使用这个:

 checkout.preload(getContext().getApplicationContext());

在 Fragment 和 getContext() 方法中返回空上下文,因此我收到 Android 错误:getDefinedWebViewPackageName 没有这样的方法。 为此,我在片段的 onAttach 方法中将上面的代码行称为:

@Override
public void onAttach(@NonNull Context context) {
    super.onAttach(context);
    checkout.preload(context);
}

这解决了这个问题。


推荐阅读