2016-04-17 3 views
0

So habe ich eine WebView-Anwendung in Android Studio und ich möchte, dass wenn ich eine URL öffne (von beispielsweise der Google App), wird es in meiner App als Standard geöffnet. Hier ist ein Teil meines Code:Wie öffne ich externe URL in einem internen WebView als Standard?

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); 
} 

Antwort

0

Ersetzen Sie Ihre shouldOverrideUrlLoading() mit:

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

nicht für mich arbeiten, ( –

+0

@ B.Barthel: Fühlen Sie sich frei zu erklären, im Detail, was "funktioniert nicht für mich" bedeutet. – CommonsWare

+0

Ich meine, es öffnet nicht die URL in meiner App, es öffnet nur die "Öffnen mit ..." Registerkarte, aber meine App ist nicht aufgeführt ... –

Verwandte Themen