-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
if (InternetConnectivity.isConnected(getApplicationContext())) { //Bağlantı başarılı... } else { //Bağlantı başarısız... }
- Loading branch information
Ali Karakoç
committed
Jan 13, 2016
1 parent
061d081
commit d7ea9bc
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
package sizin.package.adiniz; | ||
|
||
import android.content.Context; | ||
import android.net.ConnectivityManager; | ||
import android.net.NetworkInfo; | ||
import android.telephony.TelephonyManager; | ||
|
||
public class InternetConnectivity { | ||
|
||
public static NetworkInfo getNetworkInfo(Context context) { | ||
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); | ||
return cm.getActiveNetworkInfo(); | ||
} | ||
|
||
public static boolean isConnected(Context context) { | ||
NetworkInfo info = InternetConnectivity.getNetworkInfo(context); | ||
return (info != null && info.isConnected()); | ||
} | ||
|
||
public static boolean isConnectedWifi(Context context) { | ||
NetworkInfo info = InternetConnectivity.getNetworkInfo(context); | ||
return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI); | ||
} | ||
|
||
public static boolean isConnectedMobile(Context context) { | ||
NetworkInfo info = InternetConnectivity.getNetworkInfo(context); | ||
return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_MOBILE); | ||
} | ||
|
||
public static boolean isConnectedFast(Context context) { | ||
NetworkInfo info = InternetConnectivity.getNetworkInfo(context); | ||
return (info != null && info.isConnected() && InternetConnectivity.isConnectionFast(info.getType(), info.getSubtype())); | ||
} | ||
|
||
public static boolean isConnectionFast(int type, int subType) { | ||
if (type == ConnectivityManager.TYPE_WIFI) { | ||
return true; | ||
} else if (type == ConnectivityManager.TYPE_MOBILE) { | ||
switch (subType) { | ||
case TelephonyManager.NETWORK_TYPE_1xRTT: | ||
return false; // ~ 50-100 kbps | ||
case TelephonyManager.NETWORK_TYPE_CDMA: | ||
return false; // ~ 14-64 kbps | ||
case TelephonyManager.NETWORK_TYPE_EDGE: | ||
return false; // ~ 50-100 kbps | ||
case TelephonyManager.NETWORK_TYPE_EVDO_0: | ||
return true; // ~ 400-1000 kbps | ||
case TelephonyManager.NETWORK_TYPE_EVDO_A: | ||
return true; // ~ 600-1400 kbps | ||
case TelephonyManager.NETWORK_TYPE_GPRS: | ||
return false; // ~ 100 kbps | ||
case TelephonyManager.NETWORK_TYPE_HSDPA: | ||
return true; // ~ 2-14 Mbps | ||
case TelephonyManager.NETWORK_TYPE_HSPA: | ||
return true; // ~ 700-1700 kbps | ||
case TelephonyManager.NETWORK_TYPE_HSUPA: | ||
return true; // ~ 1-23 Mbps | ||
case TelephonyManager.NETWORK_TYPE_UMTS: | ||
return true; // ~ 400-7000 kbps | ||
|
||
case TelephonyManager.NETWORK_TYPE_EHRPD: // API level 11 | ||
return true; // ~ 1-2 Mbps | ||
case TelephonyManager.NETWORK_TYPE_EVDO_B: // API level 9 | ||
return true; // ~ 5 Mbps | ||
case TelephonyManager.NETWORK_TYPE_HSPAP: // API level 13 | ||
return true; // ~ 10-20 Mbps | ||
case TelephonyManager.NETWORK_TYPE_IDEN: // API level 8 | ||
return false; // ~25 kbps | ||
case TelephonyManager.NETWORK_TYPE_LTE: // API level 11 | ||
return true; // ~ 10+ Mbps | ||
case TelephonyManager.NETWORK_TYPE_UNKNOWN: | ||
default: | ||
return false; | ||
} | ||
} else { | ||
return false; | ||
} | ||
} | ||
|
||
} |