webview 只識(shí)別https和http開頭的地址
webview調(diào)用setWebViewClient方法,重寫shouldOverrideUrlLoading方法,返回return super.shouldOverrideUrlLoading(view, url);就可以跳轉(zhuǎn)到申請(qǐng)權(quán)限界面了,要登錄QQ去申請(qǐng)權(quán)限的時(shí)候報(bào)錯(cuò),因?yàn)檫@里會(huì)返回一個(gè)帶intent://的地址,只能跳轉(zhuǎn)到外部。要設(shè)置
settings.setDomStorageEnabled(true);
以下是具體代碼:
mwebMain.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, ????????????????????????SslError error) { Log.d("myapp", "SslError=" + error); //等待證書響應(yīng) handler.proceed(); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.d("myapp", "url=" + url); // view.loadUrl(url); // return true; if (url.startsWith("intent://")) { Uri parsedUri = Uri.parse(url); PackageManager packageManager = context.getPackageManager(); Intent browseIntent = new ????????????????Intent(Intent.ACTION_VIEW).setData(parsedUri); try { Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME); if (intent.resolveActivity(context.getPackageManager()) != null) { context.startActivity(intent); return true; } //try to find fallback url String fallbackUrl = ?????????????????????????intent.getStringExtra("browser_fallback_url"); if (fallbackUrl != null) { mwebMain.loadUrl(fallbackUrl); return true; } //invite to install Intent marketIntent = new Intent(Intent.ACTION_VIEW).setData( Uri.parse("market://details?id=" + ?????????????????????????????????intent.getPackage())); if (marketIntent.resolveActivity(packageManager) != null) { context.startActivity(marketIntent); return true; } } catch (URISyntaxException e) { //not an intent uri } return true; } return super.shouldOverrideUrlLoading(view, url); } });
webview打開微信地址跳轉(zhuǎn):文章來源:http://www.zghlxwxcb.cn/news/detail-741930.html
url以weixin://開頭的要再shouldOverrideUrlLoading增加以下判斷方法:文章來源地址http://www.zghlxwxcb.cn/news/detail-741930.html
if (url.startsWith("weixin://") || url.startsWith("alipays://") || url.startsWith("mqqapi://")) { //打開本地App進(jìn)行支付 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent); return true; }
到了這里,關(guān)于android webview 打開騰訊文檔不跳轉(zhuǎn)到申請(qǐng)權(quán)限界面顯示ERR_UNKNOWN_URL_SCHEME的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!