{"id":2177,"date":"2015-09-17T13:10:04","date_gmt":"2015-09-17T11:10:04","guid":{"rendered":"http:\/\/mariusbancila.ro\/blog\/?p=2177"},"modified":"2015-09-17T13:10:04","modified_gmt":"2015-09-17T11:10:04","slug":"fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/","title":{"rendered":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links"},"content":{"rendered":"<p>I am building a hybrid mobile app with Visual Studio Tools for Apache Cordova that is able to make phone calls, send text message or emails, view a location on a map, etc. These are all handled with external applications (for instance use Gmail to send an email or Maps to pinpoint a location). They are placed in an anchor tag in HTML, such as <tt>&lt;a href=\"tel:12345678\"><\/tt>, <tt>&lt;a href=\"sms:12345678\"><\/tt>, <tt>&lt;a href=\"mailto:name@domain.com\"><\/tt> or <tt>&lt;a href=\"geo:...\"><\/tt>. These work fine except that when you execute one of these actions and the system opens another app you see for a short time a webview with an error: &#8220;Web page not available&#8221;. Then the external app opens, you take the action and then go back to the app. At that point you again see this webview with the error as shown below.<\/p>\n<p><figure id=\"attachment_2179\" aria-describedby=\"caption-attachment-2179\" style=\"width: 440px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/09\/ERR_UNKNOWN_URL_SCHEME.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/09\/ERR_UNKNOWN_URL_SCHEME.png\" alt=\"ERR_UNKNOWN_URL_SCHEME when sending a text message\" width=\"450\" height=\"800\" class=\"size-full wp-image-2179\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/09\/ERR_UNKNOWN_URL_SCHEME.png 450w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/09\/ERR_UNKNOWN_URL_SCHEME-169x300.png 169w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><figcaption id=\"caption-attachment-2179\" class=\"wp-caption-text\">ERR_UNKNOWN_URL_SCHEME when sending a text message<\/figcaption><\/figure><br \/>\nThis seem to be a known issue as I found many references of it on the web. Here are several for reference:<\/p>\n<ul>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/4338305\/android-webview-tel-links-show-web-page-not-found\" target=\"_blank\">Android WebView &#8220;tel:&#8221; links show web page not found<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/24697429\/getting-neterr-unknown-url-scheme-while-calling-telephone-number-from-html-pag\" target=\"_blank\">Getting net::ERR_UNKNOWN_URL_SCHEME while calling telephone number from HTML page in Android<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/29853142\/android-webview-err-unknown-url-scheme-error\" target=\"_blank\">Android Webview ERR_UNKNOWN_URL_SCHEME Error<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/13072960\/webview-shouldoverrideurlloading-doesnt-work\" target=\"_blank\">Webview shouldoverrideurlloading doesn&#8217;t work<\/a><\/li>\n<\/ul>\n<p>I am using the <a href=\"https:\/\/github.com\/apache\/cordova-plugin-inappbrowser\" target=\"_blank\">InAppBrowser<\/a> plugin to open links in external apps. In order for this to work the schemes must be white-listed in Cordova&#8217;s <tt>config.xml<\/tt> file and the <tt>launch-external<\/tt> attribute should be set to true (which was already set in my case).<\/p>\n<pre class=\"lang:xhtml decode:true \" >  \r\n&lt;access origin=\"mailto:*\" launch-external=\"true\" \/&gt;\r\n&lt;access origin=\"tel:*\" launch-external=\"true\" \/&gt;\r\n&lt;access origin=\"sms:*\" launch-external=\"true\" \/&gt;\r\n&lt;access origin=\"geo:*\" launch-external=\"true\" \/&gt;\r\n&lt;access origin=\"maps:*\" launch-external=\"true\" \/&gt;\r\n<\/pre>\n<p>The indicated solution is to override <a href=\"http:\/\/developer.android.com\/reference\/android\/webkit\/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String)\" target=\"_blank\">WebView.shouldOverrideUrlLoading<\/a> method. <\/p>\n<p>I added the following in plugins\\cordova-plugin-inappbrowser\\src\\android\\InAppBrowser.java in the plugin&#8217;s <tt>WebView<\/tt> extension, but that did not work as the code did not even execute.<\/p>\n<pre class=\"lang:java decode:true \" >\r\n@Override\r\npublic boolean shouldOverrideUrlLoading(WebView view, String url) {\r\n   if( url.startsWith(\"http:\") || url.startsWith(\"https:\") ) {\r\n      return false;\r\n   }\r\n\r\n   \/\/ Otherwise allow the OS to handle it\r\n   Intent intent = new Intent(Intent.ACTION_VIEW);\r\n   intent.setData(Uri.parse(url));\r\n   cordova.getActivity().startActivity(intent);\r\n   return true;\r\n}\r\n<\/pre>\n<p>Looking for a solution I have noticed that this was only working OK for <tt>tel:<\/tt> and for others it was exhibiting this behavior. Then I found the following code in the <tt>InAppBrowser<\/tt> plugin class, in the <tt>execute()<\/tt> method.<\/p>\n<pre class=\"lang:java decode:true \" >\r\n\/\/Load the dialer\r\nelse if (url.startsWith(WebView.SCHEME_TEL))\r\n{\r\n    try {\r\n        Log.d(LOG_TAG, \"loading in dialer\");\r\n        Intent intent = new Intent(Intent.ACTION_DIAL);\r\n        intent.setData(Uri.parse(url));\r\n        cordova.getActivity().startActivity(intent);\r\n    } catch (android.content.ActivityNotFoundException e) {\r\n        LOG.e(LOG_TAG, \"Error dialing \" + url + \": \" + e.toString());\r\n    }\r\n}\r\n<\/pre>\n<p>I have changed that to include the other schemes and that fixed the problem.<\/p>\n<pre class=\"lang:java decode:true \" >\r\nelse if (url.startsWith(WebView.SCHEME_TEL) || \r\n         url.startsWith(\"sms:\") ||\r\n         url.startsWith(WebView.SCHEME_MAILTO) ||\r\n         url.startsWith(WebView.SCHEME_GEO) ||\r\n         url.startsWith(\"maps:\"))\r\n{\r\n    try {\r\n        Log.d(LOG_TAG, \"loading in external app\");\r\n        Intent intent = new Intent(Intent.ACTION_VIEW);\r\n        intent.setData(Uri.parse(url));\r\n        cordova.getActivity().startActivity(intent);\r\n    } catch (android.content.ActivityNotFoundException e) {\r\n        LOG.e(LOG_TAG, \"Error opening external app \" + url + \": \" + e.toString());\r\n    }\r\n}<\/pre>\n<p>With this in place, the web page error no longer shows up for any URL scheme. <\/p>\n<p>I&#8217;m not sure if this is the best solution, but it is the only one that I managed to implement.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am building a hybrid mobile app with Visual Studio Tools for Apache Cordova that is able to make phone calls, send text message or emails, view a location on a map, etc. These are all handled with external applications (for instance use Gmail to send an email or Maps to pinpoint a location). They &#8230; <a title=\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links\" class=\"read-more\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/\" aria-label=\"Read more about Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[417,402,466,416],"tags":[420,419,472,469,471,470,468,467],"class_list":["post-2177","post","type-post","status-publish","format-standard","hentry","category-android","category-apps","category-cordova","category-mobile","tag-android-2","tag-cordova","tag-mailto","tag-scheme","tag-sms","tag-tel","tag-url","tag-webview"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"cordova,android,webview,url,scheme,tel,sms,mailto\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links\" \/>\n\t\t<meta property=\"og:description\" content=\"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-09-17T11:10:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-09-17T11:10:04+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#article\",\"name\":\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\\\sms:\\\\geo:\\\\etc links\",\"headline\":\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\\\sms:\\\\geo:\\\\etc links\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/ERR_UNKNOWN_URL_SCHEME.png\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#articleImage\",\"width\":450,\"height\":800,\"caption\":\"ERR_UNKNOWN_URL_SCHEME when sending a text message\"},\"datePublished\":\"2015-09-17T13:10:04+02:00\",\"dateModified\":\"2015-09-17T13:10:04+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":12,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#webpage\"},\"articleSection\":\"Android, Apps, Cordova, Mobile, android, cordova, mailto, scheme, sms, tel, URL, WebView\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/#listItem\",\"name\":\"Mobile\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/#listItem\",\"position\":2,\"name\":\"Mobile\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/android\\\/#listItem\",\"name\":\"Android\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/android\\\/#listItem\",\"position\":3,\"name\":\"Android\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/android\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#listItem\",\"name\":\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\\\sms:\\\\geo:\\\\etc links\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/#listItem\",\"name\":\"Mobile\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#listItem\",\"position\":4,\"name\":\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\\\sms:\\\\geo:\\\\etc links\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/mobile\\\/android\\\/#listItem\",\"name\":\"Android\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/\",\"name\":\"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\\\sms:\\\\geo:\\\\etc links\",\"description\":\"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/09\\\/17\\\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2015-09-17T13:10:04+02:00\",\"dateModified\":\"2015-09-17T13:10:04+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","description":"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/","robots":"max-image-preview:large","keywords":"cordova,android,webview,url,scheme,tel,sms,mailto","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#article","name":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","headline":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/09\/ERR_UNKNOWN_URL_SCHEME.png","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#articleImage","width":450,"height":800,"caption":"ERR_UNKNOWN_URL_SCHEME when sending a text message"},"datePublished":"2015-09-17T13:10:04+02:00","dateModified":"2015-09-17T13:10:04+02:00","inLanguage":"en-US","commentCount":12,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#webpage"},"articleSection":"Android, Apps, Cordova, Mobile, android, cordova, mailto, scheme, sms, tel, URL, WebView"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/#listItem","name":"Mobile"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/#listItem","position":2,"name":"Mobile","item":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/#listItem","name":"Android"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/#listItem","position":3,"name":"Android","item":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#listItem","name":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/#listItem","name":"Mobile"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#listItem","position":4,"name":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/#listItem","name":"Android"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/","name":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","description":"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2015-09-17T13:10:04+02:00","dateModified":"2015-09-17T13:10:04+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","og:description":"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.","og:url":"https:\/\/mariusbancila.ro\/blog\/2015\/09\/17\/fix-err_unknown_url_scheme-on-android-webview-for-telsmsgeoetc-links\/","article:published_time":"2015-09-17T11:10:04+00:00","article:modified_time":"2015-09-17T11:10:04+00:00","twitter:card":"summary","twitter:title":"Fix ERR_UNKNOWN_URL_SCHEME on Android WebView for tel:\\sms:\\geo:\\etc links","twitter:description":"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps."},"aioseo_meta_data":{"post_id":"2177","title":null,"description":"A solution to fix the Web page not available error on Android when opening tel:, sms:, mailto:, geo: links in external apps.","keywords":[{"label":"Cordova","value":"Cordova"},{"label":"Android","value":"Android"},{"label":"WebView","value":"WebView"},{"label":"URL","value":"URL"},{"label":"scheme","value":"scheme"},{"label":"tel","value":"tel"},{"label":"sms","value":"sms"},{"label":"mailto","value":"mailto"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:09:29","updated":"2025-12-12 07:43:26","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":12,"uagb_excerpt":"I am building a hybrid mobile app with Visual Studio Tools for Apache Cordova that is able to make phone calls, send text message or emails, view a location on a map, etc. These are all handled with external applications (for instance use Gmail to send an email or Maps to pinpoint a location). They&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/\" class=\"advgb-post-tax-term\">Android<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/apps\/\" class=\"advgb-post-tax-term\">Apps<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/cordova\/\" class=\"advgb-post-tax-term\">Cordova<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">Mobile<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Android<\/span>","<span class=\"advgb-post-tax-term\">Apps<\/span>","<span class=\"advgb-post-tax-term\">Cordova<\/span>","<span class=\"advgb-post-tax-term\">Mobile<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">android<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">cordova<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">mailto<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">scheme<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">sms<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">tel<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">URL<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">WebView<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">android<\/span>","<span class=\"advgb-post-tax-term\">cordova<\/span>","<span class=\"advgb-post-tax-term\">mailto<\/span>","<span class=\"advgb-post-tax-term\">scheme<\/span>","<span class=\"advgb-post-tax-term\">sms<\/span>","<span class=\"advgb-post-tax-term\">tel<\/span>","<span class=\"advgb-post-tax-term\">URL<\/span>","<span class=\"advgb-post-tax-term\">WebView<\/span>"]}},"comment_count":"12","relative_dates":{"created":"Posted 11 years ago","modified":"Updated 11 years ago"},"absolute_dates":{"created":"Posted on September 17, 2015","modified":"Updated on September 17, 2015"},"absolute_dates_time":{"created":"Posted on September 17, 2015 1:10 pm","modified":"Updated on September 17, 2015 1:10 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-z7","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=2177"}],"version-history":[{"count":8,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2177\/revisions"}],"predecessor-version":[{"id":2186,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2177\/revisions\/2186"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=2177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=2177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=2177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}