Android判断网络状态

package com.ch.services; import com.ch.utils.NetWorkUtils; import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
//这是后台 Service
public class CopyOfOffLineService extends Service{ @Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
//new一个新类 判断网络
NetWorkUtils netUtils = new NetWorkUtils(getApplicationContext());
int i = netUtils.netWorkType();//获得当前网络状态类型
//1.wifi 2.移动网路 3.没网
if(i == 1){
//请求数据,并保存
Log.i("TAG", "开始离线下载......"); }else if(i == 2){
Log.i("TAG", "提示是移动数据,是否继续下载......");
}else{
Log.i("TAG", "没网,不需要下载......");
} return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub return null;
} }


package com.ch.utils; import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
import android.util.Log; public class NetWorkUtils {
Context mcontext;
public NetWorkUtils(Context mcontext){
this.mcontext = mcontext;
} public int netWorkType(){
//获取管理
ConnectivityManager mConnectivity = (ConnectivityManager)mcontext.getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager mTelephony = (TelephonyManager)mcontext.getSystemService(Context.TELEPHONY_SERVICE);
//检查网络连接
NetworkInfo info = mConnectivity.getActiveNetworkInfo(); if (info == null || !mConnectivity.getBackgroundDataSetting()) {
Log.i("TAG","网络未连接.....");
return 3;
} int netType = info.getType();
int netSubtype = info.getSubtype();
Log.i("TAG",netType+",,"+netSubtype+",,"+mTelephony.isNetworkRoaming());
if (netType == ConnectivityManager.TYPE_WIFI) { //WIFI
Log.i("TAG","wifi连接.....");
return 1;
} else if (netType == ConnectivityManager.TYPE_MOBILE && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming()) { //MOBILE
Log.i("TAG","移动数据连接.....");
return 2;
}
return 3;
}
}

Android判断网络状态的更多相关文章
- android——判断网络状态
平常我们玩qq的时候我们没联网 ,qq上面回显示"网络连接不给力,请检查网络连接"那么它是 通过什么方式判断网络是否连接的呢? 下面将写个案例展示如何检查网络连接状态的 由于我们这 ...
- Android 监控网络状态
public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (Conn ...
- Android获取网络状态
Android获取网络状态 学习自 https://developer.android.google.cn/reference/android/net/ConnectivityManager http ...
- Android判断网络是否打开,并打开设置网络界面
由于Android的SDK版本不同所以里面的API和设置方式也是有少量变化的,尤其是在Android 3.0 及后面的版本,UI和显示方式也发生了变化,现在就以打开网络设置为例,同大家分享一下: 1. ...
- Android杂谈--网络状态判断
许多联网应用都在开始运行的时候检查当前网络状态,如果没有开启则去开启它,记录一下以前写程序时的网络检查,发现人的记忆力真是有限,总是隔段时间久忘记,所以记录下来是最好的记忆. 我们可以在一开始启动程序 ...
- Android学习总结——判断网络状态
package com.example.xch.broadcasttest; import android.content.BroadcastReceiver; import android.cont ...
- Android开发(七)——判断网络状态
项目中难免会出现使用网络的情况,使用网络前得进行网络判断,看网上的网友一般有多种实现版本. 第一种: // 是否有网络连接 public static boolean isNetworkConnect ...
- Android 中判断网络状态
首先在AndroidManifest.xml添加权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_ ...
- android判断网络连接状态、联网类型、运营商
/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { St ...
随机推荐
- mongoDB 读书笔记(初级命令)
关于mongoDB的相关知识,读书笔记,便于自己查阅用,不定期更新(纯手打) <mongoDB权威指南> 一.创建更新和删除 1.创建 //批量插入一个集合可以节省时间,只用 ...
- gulp教程
1. http://www.tuicool.com/articles/FJVNZf 2.http://www.ydcss.com/archives/18 3.手动创建package.json: 如:c ...
- docker:从 tomcat 容器连接到 mysql 容器
docker 中的容器互联是一个较为复杂的话题,详细内容将在后续章节中介绍. 续前 2 个章节的内容,我们创建了一个 mysql 容器和一个 tomcat 容器,可以使用 「docker ps」来查看 ...
- 四元数(Quaternion)和旋转(转)
http://blog.csdn.net/candycat1992/article/details/41254799 四元数介绍 旋转,应该是三种坐标变换--缩放.旋转和平移,中最复杂的一种了.大家应 ...
- Android 对Map按key和value分别排序
一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...
- myeclipse中的web项目导入到eclipse中注意事项,项目部署到tomcat后无法访问jsp文件
打开eclipse,点击空白处,右键可以看到import>general>existing projects into workspace>next>选择你的myeclipse ...
- Python_技巧系列
1 print()中利用 \ 实现美观 2 利用列表对多个变量进行赋值 3 变量存储的是什么 3.1 对于不可变的数据类型的值,变量存储的是引用(如:列表.字典):所以不可变变量间的赋值是引用赋值 3 ...
- HBase环境搭建
HBase与Hadoop对应关系:http://hbase.apache.org/book.html#basic.prerequisites 4.1. Hadoop 这块介绍了对应关系 HBase ...
- Winform禁止容器内控件获得焦点时改变容器显示范围坐标
在Winform中当容器的可视高度无法显示所有控件并且容器的AutoScroll属性设置为True的情况下,但点击容器内某个未显示完整的控件时,会出现容器的滚动条自动下滚的情况. 这是由于控件获得焦点 ...
- Test4J与Jtester单元测试常用注解比较
package com.alibaba.ceres.catalog.biz.product.impl; import org.junit.After; import org.junit.Before; ...