Android笔记之网络状态判断

1、首先当然得在 manifest 中添加检查网络状态的权限;

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.INTERNET"/>

2、具体判断步骤

(1)首先要先获得Android 对连接管理的一个类对象。

     ConnectivityManager manager = (ConnectivityManager)getSystemService(                Context.CONNECTIVITY_SERVICE);

(2)获得网络链接状态

if (manager.getActiveNetworkInfo() != null) {

networkFlag = manager.getActiveNetworkInfo().isAvailable();

}

(3)如果没有连接,弹出对话框提示用户连接,并在“设置”按钮里让用户跳转到设置网络界面。

if (! networkFlag) {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setIcon(android.R.drawable.ic_dialog_alert);

builder.setTitle("网络状态");

builder.setMessage("当前网络不可用,是否设置网络?");

builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");

startActivity(wifiSettingsIntent);

}

});

builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel();

}

});

builder.create();

builder.show();

}

(4)最后一步,也是比较关键一步,就是在manifest 里声明该Activity , 如果没做,则会出现“xxx 已经停止运行”,原因显而易见。

问题是,我们以前都是自己建立的Activity ,知道如何声明,这里是系统自己的setting , 我们如何声明呢?

<PreferenceScreen

android:title="设置网络"

android:summary=" ">

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.settings"

android:targetClass="com.android.settings.WirelessSettings" />

</PreferenceScreen>

在application 里面写上以上代码即可。  (困惑了好久,终于在一个前辈博客里找到了答案,在此感谢,http://blog.csdn.net/shenyuemei/article/details/8005241)

由于代码简单,所以就不上传DEMO 代码了。

Android笔记之网络状态判断

时间: 2025-01-02 15:28:53

Android笔记之网络状态判断的相关文章

Android笔记之网络状态

先上一个工具类的代码: package com.yonyou.util; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * 判断当前网络状态 * @author xxx * */ public class NetWorkUtil { static NetWorkUtil netWorkUtil; private NetWorkU

Android笔记之网络状态推断

1.首先当然得在 manifest 中加入检查网络状态的权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.INTERNET"/> 2.详细推断步骤 (1)首先要先获得Android 对连接管理的一

android 监听网络状态的变化及实战

android 监听网络状态的变化及实际应用 转载请注明博客地址:http://blog.csdn.net/gdutxiaoxu/article/details/53008266 平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 - 没有网络的错误 - 在有网络的情况下,我们客户端的错误或者服务器端的错误 今天这篇博客主要阐述以下问题 怎样监听网络状态的变化,包括是否打开WiFi,否打开数据网络,当前连接的网络是否可用 网络没有打开情况下的处理,如弹出对话框,跳转到

Android笔记之网络-基本了解

1.3个相关API接口 Android网络编程相关的API接口与相关用途如下图 2. 2种网络架构模式 B/S----浏览器/服务器端模式,通过应用层的HTTP协议通信,不需要特定客户端软件,而是需要统一规范的客户端,简而言之就是Android网络浏览器(如chrome,UcWeb,QQ浏览器等等)访问web服务器端的方式了. C/S----->客户端/服务器端模式,通过任意的网络协议通信,需要特定的客户端软件. 3.基于封装与协议,2种方式通信 如果要实现网络互联,我们要思考两个需要解决的技术

android开发获取网络状态,wifi,wap,2g,3g.工具类(一)

android开发获取网络状态整理: 1 package com.gzcivil.utils; 2 3 import android.content.Context; 4 import android.net.ConnectivityManager; 5 import android.net.NetworkInfo; 6 import android.telephony.TelephonyManager; 7 import android.text.TextUtils; 8 9 public c

《HTTP权威指南》笔记之 网络状态码

状态码分为五大类, (1)100 ~ 199 信息性状态码 状态码 含义 原因短语 100 说明服务器收到了请求的初始部分,请客户端继续发送 Continue 101 说明服务器正在根据客户端的指定,将协议转换成为 Update首部所列的协议 Switching Protocol (2)200 ~ 299 成功状态码 状态码 原因短语 含义 200 OK 请求没问题 201 Ctreated 用于创建服务器对象的请求(如PUT) 202 Accepted 请求已被接受,但服务器还未对其执行任何动

Android获取当前网络状态

Android获取当前网络状态 效果图 有网络 没有网络 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9052833 添加获取网络状态的权限 <!-- 获取网络状态的权限 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 工具类 package com.kongqw.

网络状态判断

- (IBAction)doNetButton:(id)sender { Reachability *hostReach=[Reachability reachabilityWithHostName:@"www.baidu.com"];//网络可达性 NetworkStatus status=[hostReach currentReachabilityStatus];  //网络状态 //判断网络状态 switch (status) { case NotReachable: NSLog

Android网络状态判断 wifi mobile

/** * 网络状态 wifi mobile * * @author jiangbing * */ public class NetworkUtils { /** * 判断当前是否 网络连接 (是否有效的连接)不分wifi mobile */ public static boolean isConnectdeAvailable(Context context) { try { ConnectivityManager manager = (ConnectivityManager) context