摘自:http://zhxhinfu.blog.163.com/blog/static/187571188201261893241183/
一、判断网络连接是否可用
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) { } else {
//如果仅仅是用来判断网络连接
//则可以使用 cm.getActiveNetworkInfo().isAvailable();
NetworkInfo[] info = cm.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
下面的不仅可以判断,如果没有开启网络的话,就进入到网络开启那个界面,具体代码如下:
protected boolean CheckNetwork() {
// TODO Auto-generated method stub
boolean flag=false;
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(cwjManager.getActiveNetworkInfo()!=null)
flag=cwjManager.getActiveNetworkInfo().isAvailable();
if(!flag){
Builder b=new AlertDialog.Builder(this).setTitle("没有可用的网络").setMessage("请开启GPRS或WIFI网路连接");
b.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent mIntent=new Intent("/");
ComponentName comp=new ComponentName("com.android.settings","com.android.settings.WirelessSettings");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub dialog.cancel();
}
}).create(); b.show();
}
return flag;
}
用的时候可以这样用:
if(!CheckNetwork()) return;
二、判断GPS是否打开
public static boolean isGpsEnabled(Context context) {
LocationManager lm = ((LocationManager) context .getSystemService(Context.LOCATION_SERVICE));
List<String> accessibleProviders = lm.getProviders(true); return accessibleProviders != null && accessibleProviders.size() > 0;
}
下边这小段代码是用来判断手机的GPS服务是否为开启状态.如果是就提示用户GPS已经打开.
如果现在GPS 处于关闭状态,那么给用户一个提示, 然后打开GPS设置界面,让用户更改GPS为启动状态.
private void openGPSSettings(){
LocationManager alm =(LocationManager)this.getSystemService( Context.LOCATION_SERVICE );
if( alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ) ){
Toast.makeText( this, “GPS is already on”, Toast.LENGTH_SHORT ).show();
}else{
Toast.makeText( this, “Please turn on GPS”, Toast.LENGTH_SHORT ).show();
Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );startActivity(myIntent);
}
}
初始化GPS设置
private void initGPS(){
LocationManager locationManager=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
//判断GPS模块是否开启,如果没有则开启if(!locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)){
Toast.makeText(this, "GPS is not open,Please open it!", Toast.LENGTH_SHORT).show();
Intent intent=new Intent(Settings.ACTION_SECURITY_SETTINGS);
startActivityForResult(intent,0);
}else {
Toast.makeText(this, "GPS is ready", Toast.LENGTH_SHORT);
}
}
三、判断WIFI是否打开
public static boolean isWifiEnabled(Context context) {
ConnectivityManager mgrConn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mgrTel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);
return ((mgrConn.getActiveNetworkInfo() != null && mgrConn .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
}
四、判断是否是3G网络
public static boolean is3rd(Context context) {
ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}
五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。
public static boolean isWifi(Context context) {
ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
return true;
} return false;
}
分享到:
相关推荐
主要介绍了Android中判断网络连接是否可用的方法总结的相关资料,需要的朋友可以参考下
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android中判断网络连接是否可用及监控网络状态,感兴趣的朋友可以参考下
本文实例讲述了Android编程判断网络连接是否可用的方法。分享给大家供大家参考,具体如下: 为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是: 1.判断当前手机是否...
仿QQ微信,Android开发中网络连接状态的判断(判断android设备是否有网络),详细了解请移步http://blog.csdn.net/zxc514257857/article/details/69219113
Android用于判断当前网络是否真正可用,判断数据流量是否连通。
通过socket连接判断端口是否可达 如 127.0.0.1 8080
一个判断当前是否有可用网络连接的Demo
android 腾讯定位并判断网络连接 ,通过网络定位,在定位前先判断网络链接状态,状态良好,则定位。
安卓Android判断是否有可用的网络连接,一个Android代码判断网络连接是否正常的例子,通过get方式访问一个url,尝试从HttpResponse中获取内容,看返回码是不是200。
下面小编就为大家分享一篇android 判断网络是否可用与连接的网络是否能上网,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这是一个判断网络是否可用的一个小demo,同时还运用了原生的刷新控件,进行页面的刷新再次判断当前是否网络可用。代码简单,可以用来做参考做判断是否有网络可用,比如登录的时候判断网络是否可用。
安卓端实现对APP实时网络的检测,可判断此时手机能否访问网络,以及判断出此时是在使用移动流量还是WIFI,代码里有解释和介绍。博客介绍可看https://blog.csdn.net/weixin_38611617/article/details/115296055
当网络连接状态变化时回调状态信息,以及能判断网络是否可以访问公网。此方法是经过测试可以正常使用,如果有问题欢迎留言交流。分享技术,共同提高。
ConnectivityManager manager = (ConnectivityManager) ...//此处判断网络是否连接(注:此处只能判断网络是否连接,不能判断网络是否可用) if (networkInfo != null) return networkInfo.getState() == Netw
Android网络连接检测判断实例代码,通过连接到指定网址的URL,判断是否有可用的网络连接。
该项目可以通过handler机制和Httpurlconnect发送请求来访问url下载apk文件,并且通过把apk文件安装到指定的文件的中并显示到界面上,其中通过new一个线程来启动下载文件。
Android里判断是否可以上网,常用的是如下方法: /** * 检测网络是否连接 * * @return */ private boolean isNetworkAvailable() { // 得到网络连接信息 ConnectivityManager manager = (ConnectivityManager...