0

I'm trying to check internet connectivity on recieving sms. But my service is force closing while changing internet state. E.g If I've enabled wifi its working fine but when I disable wifi app becomes closed with error. I'm using this code in onReceive function. Here is the code.

     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();
     }    

4 Answers4

3

Try to use this code

add permission in manifest file

<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;
 }
}

call

  ConnectionDetector.isConnectingToInternet(LoginActivity.this);
Sandy
  • 166
  • 2
  • 9
0

try to use this code

    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" />
Naveen
  • 814
  • 2
  • 9
  • 22
0

You can add Below

 <!-- 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" />

Please Check this Demo

  1. Android Detect Internet Connection Status
IntelliJ Amiya
  • 74,896
  • 15
  • 165
  • 198
0

i use this code
Create new class, try

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();
    }
}

call

Network.isNetworkAvailable(Activity Name.this);

and use this permissions

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Salar Pourfallah
  • 1,402
  • 1
  • 9
  • 10