2013-09-25 192 views
0

我在我的webview應用程序上有一個電話鏈接:tel:062123658但是當我點擊它時,我找不到網頁。webview中的電話鏈接在瀏覽器中打開

這是我的代碼:

public class FullscreenActivity extends Activity { 

    private WebView webView; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_fullscreen); 

     webView = (WebView) findViewById(R.id.webView); 
     webView.setWebViewClient(new myWebClient()); 
     webView.loadUrl("http://www.mywebsite.nl"); 
     webView.setVerticalScrollBarEnabled(false); 
    } 

    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.startsWith("tel:")) { 
       Intent intent = new Intent(Intent.ACTION_DIAL, 
         Uri.parse(url)); 
       startActivity(intent); 
     }else if(url.startsWith("http:") || url.startsWith("https:")) { 
      view.loadUrl(url); 
     } 
     return true; 
    } 

我怎樣才能解決這個問題?

回答

1

你應該覆蓋WebViewClient功能:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fullscreen); 

    webView = (WebView) findViewById(R.id.webView); 
    webView.setWebViewClient(new myWebClient()); 
    webView.loadData("Hello World, <a href=\"tel:3174562564\">317.456.2564</a> ", "text/html","utf-8"); 
    //webView.loadUrl("http://www.techjini.com/contactus.html"); 
    webView.setVerticalScrollBarEnabled(false); 
} 

class myWebClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.startsWith("tel:")) { 
       Intent intent = new Intent(Intent.ACTION_DIAL, 
         Uri.parse(url)); 
       startActivity(intent); 
     }else if(url.startsWith("http:") || url.startsWith("https:")) { 
      view.loadUrl(url); 
     } 
     return true; 
    } 
} 
0

試試這個方法:

webView.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

     if (url.startsWith("tel:")) { 
      Intent intent = new Intent(Intent.ACTION_DIAL, 
        Uri.parse(url)); 
      startActivity(intent); 
     }else if(url.startsWith("http:") || url.startsWith("https:")) { 
      view.loadUrl(url); 
     } 
     return true; 
    } 
}); 
相關問題