From 33a1f28654e24a47d80f6ffc75072d0158085a09 Mon Sep 17 00:00:00 2001 From: sathya Date: Tue, 12 Jul 2016 22:06:23 -0700 Subject: [PATCH] =?UTF-8?q?Android=20WebView=20=E2=80=9Ctel:=E2=80=9D=20li?= =?UTF-8?q?nks=20show=20web=20page=20not=20found=20-=20issue=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: Submitting PR #6810 - Android WebView “tel:” links show web page not found - issue fixed. 'tel:' link web page not loading: ![screenshot_2016-07-01-19-48-05](https://cloud.githubusercontent.com/assets/11989113/16525364/b3e9f10c-3fc9-11e6-8119-93cdf24d54df.png) After Fixing the issue: ![screenshot_2016-07-01-19-52-00](https://cloud.githubusercontent.com/assets/11989113/16525371/c0d74d92-3fc9-11e6-899b-570a940692f6.png) Closes https://github.com/facebook/react-native/pull/8526 Differential Revision: D3554500 fbshipit-source-id: e8cc1ac4c36ddf0c6b261a29b2e038caddc03e75 --- .../react/views/webview/ReactWebViewManager.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java index 11350d16e..3ed60497b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java @@ -41,6 +41,8 @@ import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.Event; import com.facebook.react.uimanager.events.EventDispatcher; +import android.content.Intent; +import android.net.Uri; /** * Manages instances of {@link WebView} @@ -111,6 +113,18 @@ public class ReactWebViewManager extends SimpleViewManager { createWebViewEvent(webView, url))); } + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + if (url.startsWith("http://") || url.startsWith("https://")) { + return false; + } else { + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + view.getContext().startActivity(intent); + return true; + } + } + @Override public void onReceivedError( WebView webView,