Skip to content

Commit 70b6297

Browse files
authored
Merge pull request #1454 from OneSignal/fix/catch-no-WebView-installed
Catch `MissingWebViewPackageException`, no WebView installed
2 parents 0336add + 3cf992d commit 70b6297

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/WebViewManager.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,17 @@ private static void initInAppMessage(@NonNull final Activity currentActivity, @N
146146
OSUtils.runOnMainUIThread(new Runnable() {
147147
@Override
148148
public void run() {
149-
webViewManager.setupWebView(currentActivity, base64Str);
149+
// Handles exception "MissingWebViewPackageException: Failed to load WebView provider: No WebView installed"
150+
try {
151+
webViewManager.setupWebView(currentActivity, base64Str);
152+
} catch (Exception e) {
153+
// Need to check error message to only catch MissingWebViewPackageException as it isn't public
154+
if (e.getMessage() != null && e.getMessage().contains("No WebView installed")) {
155+
OneSignal.Log(OneSignal.LOG_LEVEL.ERROR, "Error setting up WebView: ", e);
156+
} else {
157+
throw e;
158+
}
159+
}
150160
}
151161
});
152162
} catch (UnsupportedEncodingException e) {

0 commit comments

Comments
 (0)