0
我的關注是在Android WebView中的瀏覽器和內部URL中加載外部URL。在計算器但由於谷歌的新的更新如何打開瀏覽器中的外部URL和Webview中的內部URL
「」試圖尋遍」 shouldOverrideUrlLoading(WebView view, String url)
這種方法在API級別被廢棄24 使用shouldOverrideUrlLoading(WebView, WebResourceRequest)
來代替。‘’
試着做下面的代碼,但它從來沒有工作
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("http://google.com")) {
return true;
}else{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return false;
}
}
收到這個錯誤: 錯誤:(26,5)誤差:方法不覆蓋或從超類型實現一種方法
此外,正如我GOOGLE了一下,並知道,該方法也被棄用,並沒有更多的使用。
有人可以幫我解析外部URL的瀏覽器成功。
預先感謝您。
版本將會在下面
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import java.net.URL;
public class rut extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rut);
WebView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://google.com/r.html");
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
}
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("http://google.com/")) { //check for internal url
return super.shouldOverrideUrlLoading(view, url);
}else{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
return true;
}
});
}
得到這個錯誤http://prntscr.com/e8zw4f –
並且還錯誤:(26,5)誤差:方法不覆蓋或實現從編輯的超類型 –
答案的方法。檢查 –