Android手机同时支持WIFI和3G, 判断网络连接, 判断网络类型(WIFI或3G).
权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
判断网络连接
/**
* 判断网络是否可用, 在使用网络请求是预先使用此方法进行检查, 以节省资源.
*
* @return 可用状态
*/
public static boolean isNetAvailable() {
Context context = App.getAppContext();
ConnectivityManager manager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
return (info != null && info.isAvailable() && info.isConnected());
}
判断网络类型
ConnectivityManager conMan = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
// 3G
State mobile = conMan.getNetworkInfo(0).getState();
// WIFI
State wifi = conMan.getNetworkInfo(1).getState();
if (mobile == NetworkInfo.State.CONNECTED
|| mobile == NetworkInfo.State.CONNECTING) {
// TODO: in mobile do something
} else if (wifi == NetworkInfo.State.CONNECTED
|| wifi == NetworkInfo.State.CONNECTING) {
// TODO: in wifi do something
}
更加精细的网络类型:
TelephonyManager#getNetworkType or NetworkInfo#getSubtypeName
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 17:03:49