我正在使用webviewclient打開html頁面。 html頁面有一個錨標籤。 當我點擊錨標記我的電話撥號器活動應啓動。 當我在外部瀏覽器(Android默認瀏覽器)中點擊此錨標籤時,它啓動電話撥號程序,但因爲我正在使用webviewclient(在我的應用程序中使用瀏覽器)。我無法啓動電話撥號程序。如何從webviewclient打開撥號器活動?
有沒有什麼辦法可以實現這個使用webviewclient?
我正在使用webviewclient打開html頁面。 html頁面有一個錨標籤。 當我點擊錨標記我的電話撥號器活動應啓動。 當我在外部瀏覽器(Android默認瀏覽器)中點擊此錨標籤時,它啓動電話撥號程序,但因爲我正在使用webviewclient(在我的應用程序中使用瀏覽器)。我無法啓動電話撥號程序。如何從webviewclient打開撥號器活動?
有沒有什麼辦法可以實現這個使用webviewclient?
你應該重寫此方法
public boolean shouldOverrideUrlLoading(WebView wv, String url)
{
if(isNumber)
{
//Get the number from the URL
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:12345"));
startActivity(intent);
return true;
}
return false;
}
在WebViewClient
,並返回TURE這意味着你想自己,而不是來處理web視圖的這一點。
該文件是here。
我認爲這是最好的方法。所以,請試試這個,我知道我來不及回答是:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(URLUtil.isNetworkUrl(url)) {
view.loadUrl(url);
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true; /*
return false;*/
}
我得到它的工作..謝謝.. – RockandRoll 2012-03-20 11:24:15
@dreamtale:什麼是ISNUMBER這裏?以及如何調用上述方法? – YuDroid 2012-12-31 11:35:40
@YuDroid isNumber只是一個方法來調整url是否有電話號碼; shouldOverrideUrlLoading方法是WebviewClient的重寫方法。更多的細節你可以訪問android的文件(見上面的答案) – dreamtale 2013-01-03 06:13:52