2012-10-10 36 views
0

有沒有一種方法可以將if語句放在shouldOverrideUrlLoading()中,以檢查Web /移動訪問。然後顯示錯誤消息,而不是顯示移動Chrome顯示的令人討厭的頁面未找到的頁面。當shouldOverrideUrlLoading火災發生時檢查網絡/移動訪問

類似的東西來

public boolean shouldOverrideUrlLoading(WebView view, String url) 
{   
    if(isOnline() == false) 
     { 
     AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); 
     dlgAlert.setMessage("Mobile device currnetly has no internet access. Please try again."); 
     dlgAlert.setTitle("No Connection"); 
     dlgAlert.setPositiveButton("OK", null); 
     dlgAlert.setCancelable(true); 
     dlgAlert.setIcon(R.drawable.ic_launcher); 
     dlgAlert.create().show(); 
     } 

     return false;   
} 
+1

應該工作 - 假設你有一個方法叫isOnline來檢查網絡狀態。只需在if語句中返回true即可 – toadzky

回答

0

好吧,我發現我的問題的解決方案。首先我把shouldOverrideUrlLoading()放在新的WevViewclient中。之前,我已經在該塊之外。

接着我正在錯誤消息用於

AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); 

接着我改變了代碼於此,在使用吐司消息而不是AlertDialog生成器。

@覆蓋 公共布爾shouldOverrideUrlLoading(的WebView視圖,字符串URL){

   if (isOnline() == false) 
      { 
       Toast msg = Toast.makeText(MainActivity.this,"No mobile or web access, try again later.",Toast.LENGTH_LONG); 
       msg.show(); 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
相關問題