2017-08-05 40 views
0

我有一個我的網站的webview應用程序,我想在用戶點擊時瀏覽器中的鏈接在我的網站的opensome和其他鏈接裏面webView ...只有一些沒有!並在我的網站鏈接沒有在我的應用程序!例如:在瀏覽器中打開webView裏面的一些鏈接(只有一些不是全部)

!在這種鱈魚在URL包含短信敬酒網址:

setContentView(R.layout.activity_main); 

    web = (WebView) findViewById(R.id.web); 

    web.getSettings().setSupportZoom(true); 
    web.getSettings().setJavaScriptEnabled(true); 
    web.getSettings().setSupportZoom(true); 

    web.getSettings().setLoadWithOverviewMode(true); 
    CookieManager.getInstance().setAcceptCookie(true); 

    web.loadUrl(url); 
     String weburl = web.getUrl(); 
    if(weburl.contains("sms")){ 
     Context context = getApplicationContext(); 
     CharSequence text =weburl; 
     int duration = Toast.LENGTH_SHORT; 


     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 

    } 

坦克你

回答

0

你必須重寫WebViewClientshouldOverrideUrlLoading()方法。

實施例(從官方DOC截取):

private class MyWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().equals("www.example.com")) { 
      // This is my web site, so do not override; let my WebView load the page 
      return false; 
     } 
     // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
     startActivity(intent); 
     return true; 
    } 
} 

那麼對於WebView創建的這種新WebViewClient一個實例:

WebView myWebView = (WebView) findViewById(R.id.webview); 
myWebView.setWebViewClient(new MyWebViewClient()); 

文檔:https://developer.android.com/guide/webapps/webview.html#HandlingNavigation

相關問題