0 android之webview使用-處理404等錯誤 jopen 11年前發布 | 84K 次閱讀 Android Android開發 移動開發 public class WebView_404 extends Activity { private final String HOMEPAGE = " private WebView web; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if(msg.what==404) {//主頁不存在 //載入本地assets文件夾下面的錯誤提示頁面404.html web.loadUrl("file:///android_asset/404.html"); } else { web.loadUrl(HOMEPAGE); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); web = (WebView) findViewById(R.id.webview); web.getSettings().setJavaScriptEnabled(true); web.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.startsWith("http://") && getRespStatus(url)==404) { view.stopLoading(); //載入本地assets文件夾下面的錯誤提示頁面404.html view.loadUrl("file:///android_asset/404.html"); } else { view.loadUrl(url); } return true; } }); new Thread(new Runnable() { @Override public void run() { Message msg = new Message(); //此處判斷主頁是否存在,因為主頁是通過loadUrl加載的, //此時不會執行shouldOverrideUrlLoading進行頁面是否存在的判斷 //進入主頁后,點主頁里面的鏈接,鏈接到其他頁面就一定會執行shouldOverrideUrlLoading方法了 if(getRespStatus(HOMEPAGE)==404) { msg.what = 404; } handler.sendMessage(msg); } }).start(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK && web.canGoBack()) { web.goBack(); return false; } return super.onKeyDown(keyCode, event); } private int getRespStatus(String url) { int status = -1; try { HttpHead head = new HttpHead(url); HttpClient client = new DefaultHttpClient(); HttpResponse resp = client.execute(head); status = resp.getStatusLine().getStatusCode(); } catch (IOException e) {} return status; } } </pre><br /> 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享! 本文地址:http://www.baiduhome.net/lib/view/open1368589031922.html Android Android開發 移動開發 相關經驗 android之webview使用-處理404等錯誤 Android WebView 使用 前端學PHP之錯誤處理 Android WebView 緩存處理 Android WebView 緩存處理 相關資訊 linux后端服務程序之信號處理 Go 語言的錯誤處理機制引發爭議 開發管理者們常犯之錯誤與解決辦法 Google停止為Android 4.4之前版本提供WebView補丁 Android將使用OpenJDK 相關文檔 Android WebView 進行介紹 android—webview詳細 總結_整理Oracle異常錯誤處理 JSF 導航設置,事件,轉換器,驗證器,錯誤處理 Android 圖形圖像處理 Android的事件處理機制 freepbx-使用指南(中文) 使用 C# 調用 windows API 入門 StarUML 使用手冊 目錄