2016-04-17 14 views
0

私はAndroidスタジオにWebViewアプリケーションを持っています。私はURL(たとえば、Google Appなど)を開くと、デフォルトで自分のアプリケーションでそのアプリケーションを開きます。内部WebViewで外部URLをデフォルトで開く方法

String url = "http://google.com"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

myBrowser = (WebView) findViewById(R.id.mybrowser); 
    myBrowser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 

    myBrowser.getSettings().setJavaScriptEnabled(true); 
    myBrowser.getSettings().setBuiltInZoomControls(true); 
    myBrowser.setWebViewClient(new WebViewClient()); 
    myBrowser.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) { 

      prefs.edit().putString("LastUrl", myBrowser.getUrl().toString()).commit(); 
      editText.setText(myBrowser.getUrl().toString()); 
      if (progress < 100 && Pbar.getVisibility() == ProgressBar.GONE) { 
       Pbar.setVisibility(ProgressBar.VISIBLE); 
      } 
      Pbar.setProgress(progress); 
      if (progress == 100) { 
       Pbar.setVisibility(ProgressBar.GONE); 
      } 
     } 
      public boolean shouldOverrideUrlLoading(WebView view, String URL) { 
      if (URL != null && URL.startsWith("http://")) { 
       view.getContext().startActivity(
         new Intent(Intent.ACTION_VIEW, Uri.parse(URL))); 
       return true; 
      } else { 
       return false; 
      } 
     } 
    }); 
    myBrowser.loadUrl(url); 
} 

答えて

0

があなたのshouldOverrideUrlLoading()と置き換えます:ここに は、私のコードの一部である

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

が私のために動作しません。B.Barthel @ –

+0

(:詳細は、説明するのはお気軽に、どのような – CommonsWare

+0

私はそれが私のアプリケーションでURLを開かないということを意味する "開かれた..."タブを開くだけですが、私のアプリケーションはリストされていません... –

関連する問題