2011-08-31 55 views
1

我有一個使用互聯網連接的應用程序,但是當沒有可用的互聯網連接時,應用程序停止響應。任何人都可以幫助我如何解決這個問題。當我沒有網絡連接時,我認爲我可以顯示一個錯誤,但我不知道如何去做。請幫幫我。提前致謝。關於使用互聯網連接的應用程序的查詢

回答

0

那麼檢查一下我的HTTPclass.java類,我是如何做到這一點的,我有一個方法連接(url)需要一串url並連接它,如果連接被接收到,它會響應並給出responseCode = 200HTTP.OK,如果連接沒有連接,我將處理一個catch塊並設置它表示未連接的responseCode = -1。所以,你只能做那樣的事情。當響應碼爲-1時,您可以顯示消息「Internet未連接」。希望這可以幫助。

public class HTTPClass 
{ 
    private static int responseCode = -1; 
    private static HttpURLConnection httpconn = null;   
    private static URLConnection conn = null; 
    private static URL urlobj; 

    public static int connect(String url) throws IOException 
    { 
     try 
     { 
      urlobj = new URL(url); 
      conn = urlobj.openConnection(); 
      httpconn= (HttpURLConnection)conn; 
      httpconn.setConnectTimeout(5000); 
      httpconn.setDoInput(true); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
     try 
     { 
      responseCode = httpconn.getResponseCode(); 
     } 
     catch(Exception e) 
     { 
      responseCode = -1; 
      e.printStackTrace(); 
     } 
     return responseCode; 
    } 
} 
1

您可以顯示一個AlertDialog顯示用戶不存在互聯網connection.And如果您的應用程序不能去無連接,clickin在AlertDialog取消按鈕後,就可以完成您的活動並關閉應用。

5

必需的權限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

檢查Internet連接爲每個請求

public boolean isOnline() { 
     NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); 
     if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
      return true; 
     } 
     return false; 
    } 

使用上述方法

if(isOnline()) { 
    //Write code of request 
} else { 
    showDialog("Internet connection error", "Connection is not available.") 
} 

顯示對話框方法

private void showDialog(String title, String text) { 
     // Access denied. Show dialogue to user 
     AlertDialog.Builder alertbox = new AlertDialog.Builder(YOUR_ACTIVITY.this); 
     alertbox.setTitle(title); 
     alertbox.setIcon(android.R.drawable.ic_dialog_info); 
     alertbox.setMessage(text); 
     alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface arg0, int arg1) { 
       //finish(); //DO nothing 
      } 
     }); 
     alertbox.show(); 
    } 

編輯: 在您使用此代碼替換活動名稱YOUR_ACTIVITY.this。

+0

嘿感謝的人我試過了,但當互聯網連接不可用時,它不顯示警告框。 – Rocker

+0

@Rocker我剛更新了我的答案,檢查它。 –

+0

是的,但現在,而不是警報框我正在嘗試吐司,但仍然沒有得到顯示。 – Rocker