博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android判断当前网络是否可用--示例代码
阅读量:7026 次
发布时间:2019-06-28

本文共 2081 字,大约阅读时间需要 6 分钟。

  hot3.png

 

Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。

 

先看一个自己定义的应用类。

 

public class NetworkDetector {     public static boolean detect(Activity act) {             ConnectivityManager manager = (ConnectivityManager) act              .getApplicationContext().getSystemService(                     Context.CONNECTIVITY_SERVICE);             if (manager == null) {           return false;       }             NetworkInfo networkinfo = manager.getActiveNetworkInfo();             if (networkinfo == null || !networkinfo.isAvailable()) {           return false;       }        return true;    }}
 

 

这个类只有一个静态方法,用来检测当前系统的网络是否可用。如果可用,返回true

还要进一步说明的是,NetworkInfo类中有一个方法getType(),这个方法可以用来判断当前可用的网络是wifi,还是mobile等等。

 

再来看使用的例子。

 

boolean networkState = NetworkDetector.detect(XXXActivity.this);       if (!networkState) {           DialogUtil.openMsgDialog(XXXActivity.this,                  android.R.drawable.ic_dialog_info,                  “网络不可用,是否现在设置网络?”, android.R.string.ok,                  android.R.string.cancel,                  new DialogInterface.OnClickListener() {                     @Override                     public void onClick(DialogInterface dialog, int which) {                         startActivityForResult(new Intent(                                ACTION_WIRELESS_SETTINGS), 0);                     }                  }, new DialogInterface.OnClickListener() {                     @Override                     public void onClick(DialogInterface dialog, int which) {                         dialog.cancel();                     }                  }).show();       }
 

 

其中XXXActivity是我自己的Activity类,DialogUtil是我自己定义的Dialog应用类。这里的代码片段,是在判断没有网络的情况下,弹出dialog,提示用户是否进入系统的网络设置界面。

 

因为以上代码用到了权限,需要在AndroidManifest文件中加入如下权限代码:

    <uses-permission

       android:name="android.permission.ACCESS_NETWORK_STATE" />

 

 

---------------------------------------------------------------------------

GL(arui319)

http://blog.csdn.net/arui319

<本文可以转载,但是请保留以上作者信息。谢谢。>

---------------------------------------------------------------------------

原文链接:

转载于:https://my.oschina.net/liux/blog/50435

你可能感兴趣的文章
Codeforces Beta Round #9 (Div. 2 Only) A. Die Roll 水题
查看>>
代码的组织机制
查看>>
html基础之 input:type
查看>>
json-lib简单处理json和对json的简单介绍
查看>>
jquery checkbox选中、改变状态、change和click事件
查看>>
java joor 实现反射简单调用
查看>>
membership与成员资格
查看>>
Guava 8-区间
查看>>
自定义Spark Partitioner提升es-hadoop Bulk效率
查看>>
总结一些机器视觉库
查看>>
在CentOS Linux下部署Activemq 5
查看>>
把mysql脚本或其他数据库脚本导入Powerdesigner
查看>>
phalcon 连接多个数据库 phalcon multi-database
查看>>
React Native(十一)——按钮重复点击事件的处理
查看>>
zepto jquery和zepto的区别?
查看>>
机器学习笔记(4):多类逻辑回归-使用gluton
查看>>
26.angularJS $routeProvider
查看>>
内存映射函数remap_pfn_range学习——示例分析(2)
查看>>
年轻的工程师如何月入伍万XD
查看>>
NAT64与DNS64基本原理概述
查看>>