Android Question Crashlytics - Failed to load WebView provider: No WebView installed

Jerryk

Active Member
Licensed User
Longtime User
I have an application help written in html.
B4X:
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    WebView1.Initialize("wv")
    Root.AddView(WebView1,0%x,0%y,100%x,100%y)
    WebView1.loadhtml(File.ReadString(File.DirAssets,"index.html"))
End Sub
On my, wife's smartphone, tablet it displays fine. Also in the Nox emulator.
But in the BlueStack emulator it crashes, Crashlytics shows the same error:
B4X:
Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
       at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:435)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:252)
       at android.webkit.WebView.getFactory(WebView.java:2593)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2587)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2655)
       at android.view.View.<init>(View.java:5325)
       at android.view.View.<init>(View.java:5471)
       at android.view.ViewGroup.<init>(ViewGroup.java:697)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:56)
       at android.webkit.WebView.<init>(WebView.java:415)
       at android.webkit.WebView.<init>(WebView.java:357)
       at android.webkit.WebView.<init>(WebView.java:339)
       at android.webkit.WebView.<init>(WebView.java:326)
       at android.webkit.WebView.<init>(WebView.java:316)
       at anywheresoftware.b4a.objects.WebViewWrapper.innerInitialize(WebViewWrapper.java:52)
       at anywheresoftware.b4a.objects.ViewWrapper.Initialize(ViewWrapper.java:67)
       at cz.flashcards3000.phelp._b4xpage_created(phelp.java:47)
       at cz.flashcards3000.phelp.callSub(phelp.java:77)
       at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:1098)
       at anywheresoftware.b4a.keywords.Common.CallSubNew2(Common.java:1069)
       at cz.flashcards3000.b4xpagesmanager._createpageifneeded(b4xpagesmanager.java:536)
       at cz.flashcards3000.b4xpagesmanager._showpage(b4xpagesmanager.java:873)
       at cz.flashcards3000.b4xpages._showpage(b4xpages.java:128)
       at cz.flashcards3000.b4xmainpage._btnhelp_click(b4xmainpage.java:389)
       at java.lang.reflect.Method.invoke(Method.java)
       at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
       at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
       at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
       at android.view.View.performClick(View.java:7452)
       at android.view.View.performClickInternal(View.java:7429)
       at android.view.View.access$3600(View.java:814)
       at android.view.View$PerformClick.run(View.java:28340)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7743)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Any suggestions on how to solve this?
 
Solution
WebView is installed as a separate app in recent versions of Android. This error means that WebView is missing on these devices.

I guess that this is a rare crash. You can catch this error and show a message to the user.
Top