安卓实现判断手机网络连接状态是否联网,连接的是移动流量数据还是WIFI连接
安卓实现判断网络连接状态以及是移动流量还是WIFI连接开门见山地说,安卓APP在实际开发应用场景中很容易遇到需要判断网络连接状态的需求,毕竟对于手机APP来说,没有网络的情况并不稀奇,可往往这种时候,用户并不知道是自己手机网络的问题,一般会默认觉得这APP怎么这么慢,那么这个时候,作为一个合格的甩锅人,当然是得想办法让用户知道锅不在我们开发人员的身上(理直气壮)!那么就需要有一个合适的方式来实现这
安卓实现判断手机网络连接状态是否联网,连接的是移动流量数据还是WIFI连接
开门见山地说,安卓APP在实际开发应用场景中很容易遇到需要判断网络连接状态的需求,毕竟对于手机APP来说,没有网络的情况并不稀奇,可往往这种时候,用户并不知道是自己手机网络的问题,一般会默认觉得这APP怎么这么慢,那么这个时候,作为一个合格的甩锅人,当然是得想办法让用户知道锅不在我们开发人员的身上(理直气壮)!那么就需要有一个合适的方式来实现这个功能。
上代码:
/**
* @Title: isNetworkConnected
* @Description: 网络是否可用
* @param @param context
* @param @return
* @return boolean
*/
public static boolean isNetworkConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = cm.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
} else {
continue;
}
}
}
return false;
}
调用时:
if(!ConnectUtil.isNetworkConnected(context))
{
Toast.makeText(context, "检测不到可用的网络连接", Toast.LENGTH_LONG).show();
}
通过上图的代码我们就可以对APP网络状态能否使用做出一个判断,但是但是,对手机网络状态的监听是需要在APP整个生命周期里去监听的,不可能去调像上面一样就调个方法就搞定的,所以我们需要是要开启一个整个生命周期的网络检测的服务,使得在APP使用的过程中当网络出现问题时就能弹出提示,这样的处理才能让用户给你打好评,嘿嘿!
所以我们就需要在AndroidManifest.xml中去加入一个网络检测服务。
<!-- 网络监测服务 -->
<service android:name="//这里网络服务的代码" >
<intent-filter>
<action android:name="//这里网络服务的代码" />
</intent-filter>
</service>
那么具体详细的完整代码我放在下面的链接里面,大家可以下载来看,里面都有详细的注释的。此外代码里还含有对网络连接方式是移动流量还是WIFI连接的判断,毕竟如果你做的是一个视频类的手机应用,视频播放前不提示用户用WIFI播放,等到最后给用户一个惊喜的话,相信用户也会给到你一个惊吓的。
安卓实现网络情况监测,网络连接是否有效,判断移动网络还是WIFI
以上就是本篇博客的全部内容,希望大家能够给与支持,谢谢!
更多推荐
所有评论(0)