2017-10-02 13 views
-1

私はYouTubeからチュートリアルに従いましたが、リンクがアプリで開かれていませんが、ブラウザで開いている、私はアンドロイドスタジオ2.3.3とナビゲーションテンプレートを使用しているエラーが発生しました。どうすれば修正できますか?私のスタジオでは、shouldoverloadurlが打たれ、私はリンクがなく、アプリ内ブラウザで開いているアプリを使用する場合、それ自体アンドロイドウェブビューのリンクがブラウザで開きます。アプリで開く必要があります

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (Uri.parse(url).getHost().equals("www.devmetsu.com")) { 
     //open url contents in webview 
     return false; 
    } else { 
     //here open external links in external browser or app 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
     startActivity(intent); 
     return true; 
    } 

} 
+0

チェックこのhttps://でdeveloper.android.com/reference/android/webkit/WebView.html –

+0

'url.contains(" www.devmetsu.com ")' –

+0

URLには特定のURLが含まれていますか? –

答えて

0

//この方法を試してみてください、

private void startWebView(String url) { 

     webview.setWebViewClient(new WebViewClient() { 
      ProgressDialog progressDialog; 

      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return true; 
      } 

      public void onLoadResource(WebView view, String url) { 
       if (progressDialog == null) { 
        progressDialog = new ProgressDialog(getActivity()); 
        progressDialog.setMessage("Please Wait..."); 
        progressDialog.show(); 
       } 
      } 

      public void onPageFinished(WebView view, String url) { 
       if (progressDialog.isShowing()) { 
        progressDialog.dismiss(); 

       } 
      } 
     }); 
     webview.getSettings().setJavaScriptEnabled(true); 
     webview.getSettings().setLoadWithOverviewMode(true); 
     webview.getSettings().setUseWideViewPort(true); 
     webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
     webview.setScrollbarFadingEnabled(false); 
     webview.getSettings().setSupportZoom(true); 
     webview.loadUrl(url); 
    } 
+0

WebViewClientを使用していて、アプリでWebページを開いている場合は、既に試してみました。 –

+0

上記のメソッドも動作しており、ブラウザではなくアプリでWebページを開きます。 –

関連する問題