[Android]推断网络连接是否可用
2024-09-02 06:05:32
/**
* 推断移动网络是否开启
*
* @param context
* @return
*/
public static boolean isNetEnabled(Context context) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
if (tm != null) {
if (tm.getNetworkType() != TelephonyManager.NETWORK_TYPE_UNKNOWN) {
Log.i("sjf", "移动网络已经开启");
return true;
}
}
Log.i("sjf", "移动网络还未开启");
return false;
} /**
* 推断WIFI网络是否开启
*
* @param context
* @return
*/
public static boolean isWifiEnabled(Context context) {
WifiManager wm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
if (wm != null && wm.isWifiEnabled()) {
Log.i("sjf", "Wifi网络已经开启");
return true;
}
Log.i("sjf", "Wifi网络还未开启");
return false;
} /**
* 推断移动网络是否连接成功
*
* @param context
* @return
*/
public static boolean isNetContected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (cm != null && info != null && info.isConnected()) {
Log.i("sjf", "移动网络连接成功");
return true;
}
Log.i("sjf", "移动网络连接失败");
return false;
} /**
* 推断WIFI是否连接成功
*
* @param context
* @return
*/
public static boolean isWifiContected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null && info.isConnected()) {
Log.i("sjf", "Wifi网络连接成功");
return true;
}
Log.i("sjf", "Wifi网络连接失败");
return false;
} /**
* 推断移动网络和WIFI是否开启
*
* @param context
* @return
*/
public static boolean isNetWorkEnabled(Context context) {
return (isNetEnabled(context) || isWifiEnabled(context));
} /**
* 推断移动网络和WIFI是否连接成功
* @param context
* @return
*/
public static boolean isNetworkConnected(Context context) {
return (isWifiContected(context) || isNetContected(context));
}
操作Wifi须要AndroidManifest.xml在进行一些配置:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
WIFI 的主要操作权限有四个:
CHANGE_NETWORK_STATE :同意改动网络状态的权限。
CHANGE_WIFI_STATE :同意改动 WIFI 状态的权限。
ACCESS_NETWORK_STATE :同意訪问网络状态的权限。
ACCESS_WIFI_STATE :同意訪问 WIFI 状态的权限。
最新文章
- 全球酷站秀:15个顶尖的 CSS3 网站作品
- 《Python核心编程》部分错误纠正(勘误表)(持续更新)
- jQ选择器学习片段(JavaScript 部分对应)
- cocos2d-x之action初试
- 【python】继承时注意事项
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
- paper 21 :Libsvm的安装和使用
- SAP HANA 开发者中心(Developer Center)入门指南
- Spring第二天
- 界面编程与视图(View)组件
- 201521123081《java程序设计》 第13周学习总结
- &;lt;转&;gt; Libvirt学习总结
- ORM对象关系映射之GreenDAO自定义属性转换器PropertyConverter
- AJAX初步学习
- 探究 CSS 混合模式\滤镜导致 CSS 3D 失效问题
- 向量 dot cross product 点积叉积 几何意义
- vue 自学笔记记录
- javassist实例
- CentOS6.5安装Maven3.2.5
- Hibernate利用JDBC批操作