Reputation: 55
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();
}
Upvotes: 0
Views: 156
Reputation: 166
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);
Upvotes: 3
Reputation: 1582
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"/>
Upvotes: 0
Reputation: 75798
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
Upvotes: 0
Reputation: 993
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" />
Upvotes: 0