0

我試圖檢查收到短信的互聯網連接。 但是我的服務是在更改互聯網狀態時強制關閉。例如,如果我已啓用無線網絡它的工作正常,但當我禁用WiFi應用程序成爲關閉錯誤。 我在onReceive函數中使用此代碼。 這是代碼。在android中檢查互聯網連接

 ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
    boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); 

    if(isConnected == true) { 
      Toast.makeText(context, "Internet", Toast.LENGTH_LONG).show(); 
    } 
    else if(isConnected == false){ 
      Toast.makeText(context, "No Internet", Toast.LENGTH_LONG).show(); 
    }  
+0

http://www.androidhive.info/2012/07/android-detect-internet-connection-status/ –

回答

0

嘗試使用此代碼

WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE); 
    wifiManager.setWifiEnabled(status); 

    Also add Permission in Manifest File : 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
+0

這將只檢測無線網絡添加權限但不是互聯網。我對嗎? –

+0

是的wifi ... – Naveen

0

您可以添加以下

<!-- Internet Permissions --> 
<uses-permission android:name="android.permission.INTERNET" /> 

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

<!-- Network State Permissions --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

請選中該演示

  1. Android Detect Internet Connection Status
+1

它沒有幫助。 ' <使用的許可機器人:名稱= 「android.permission.ACCESS_NETWORK_STATE」/> <使用的許可機器人:名稱= 「android.permission.CHANGE_NETWORK_STATE」/> <使用的許可機器人:名稱=「機器人.permission.ACCESS_WIFI_STATE「/> ' –

+0

它的完美權限 –

+0

但是它沒有解決問題。 –

0

我用這個代碼
創建新類,儘量

public class Network{ 
    public static boolean isNetworkAvailable(Context context) { 
     ConnectivityManager connectivityManager 
       = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
     return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
    } 
} 

呼叫

Network.isNetworkAvailable(Activity Name.this); 

,並使用該權限

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

嘗試使用此代碼

清單文件

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


public class ConnectionDetector { 
public static boolean isConnectingToInternet(Context context){ 
    ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity != null) 
    { 
     NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
     if (info != null) 
      for (int i = 0; i < info.length; i++) 
       if (info[i].getState() == NetworkInfo.State.CONNECTED) 
       { 
        return true; 
       } 

    } 
    return false; 
} 
} 

呼叫

ConnectionDetector.isConnectingToInternet(LoginActivity.this);