[判断手机网络状态]
2016-05-26 16:51
447 查看
创建 NetStateUtils 类 代码如下:
需要添加的权限(下面的权限基本上是开发常用到的)
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class NetStateUtils { /** * 判断网络连接状态 * * @param context * @return true:网络已链接, false:网络已断开连接 */ public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager .getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } /** * 判断wifi状态 * * @param context * @return true:是wifi情况 ,false:非wifi情况 */ public static boolean isWifiConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWiFiNetworkInfo = mConnectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWiFiNetworkInfo != null) { return mWiFiNetworkInfo.isAvailable(); } } return false; } /** * 判断移动网络 * * @param context * @return true:是移动网络情况, false:非移动网络情况 */ public static boolean isMobileConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mMobileNetworkInfo = mConnectivityManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mMobileNetworkInfo != null) { return mMobileNetworkInfo.isAvailable(); } } return false; } /** * 获取连接类型 * * @param context * @return */ public static int getConnectedType(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager .getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { return mNetworkInfo.getType(); } } return -1; } }
需要添加的权限(下面的权限基本上是开发常用到的)
<!-- 改变网络状态的权限 --> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 访问网络的权限 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 访问网络状态的权限 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 访问WIFI网络状态的权限 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 改变WIFI网络状态的权限 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 读写存储卡的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 读取电话状态的权限 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 电话拨号的权限 --> <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 发送短信的权限 --> <uses-permission android:name="android.permission.SEND_SMS"/> <!-- 读取系统开机权限 --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
相关文章推荐
- 计算机网络知识库
- python(十四)网络编程
- 软考网络工程师易混淆的知识点汇总
- 在发起网络请求时可能会需要对URLString进行编码
- 餐巾计划问题[网络流24题之10]
- [置顶] Android 网络框架之Retrofit2使用详解及从源码中解析原理
- 深度思维:网络推广的三个不重要
- HttpUtils模块分析之网络请求
- HTTP POST请求并将请求参数设置成请求体添加到请求中
- 网络与通信:网络编程(概念)
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- 2016年Q2《网络安全创新500强》榜单解读
- http cookies
- 扩展访问列表 IP TCP
- Android实现基于TCP和UDP协议的即时通讯,含android端和服务器端
- 安装1:自带的实例http://127.0.0.1:1080/WebTours/无法访问,空白页
- Retrofit2.0 + OkHttp3 遇到的坑
- mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use Do you already have anothe