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

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

  1. publicclassNetworkDetector{
  2. publicstaticbooleandetect(Activityact){
  3. ConnectivityManagermanager=(ConnectivityManager)act
  4. .getApplicationContext().getSystemService(
  5. Context.CONNECTIVITY_SERVICE);
  6. if(manager==null){
  7. returnfalse;
  8. }
  9. NetworkInfonetworkinfo=manager.getActiveNetworkInfo();
  10. if(networkinfo==null||!networkinfo.isAvailable()){
  11. returnfalse;
  12. }
  13. returntrue;
  14. }
  15. }

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

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

再来看使用的例子。

  1. booleannetworkState=NetworkDetector.detect(XXXActivity.this);
  2. if(!networkState){
  3. DialogUtil.openMsgDialog(XXXActivity.this,
  4. android.R.drawable.ic_dialog_info,
  5. “网络不可用,是否现在设置网络?”,android.R.string.ok,
  6. android.R.string.cancel,
  7. newDialogInterface.OnClickListener(){
  8. @Override
  9. publicvoidonClick(DialogInterfacedialog,intwhich){
  10. startActivityForResult(newIntent(
  11. ACTION_WIRELESS_SETTINGS),0);
  12. }
  13. },newDialogInterface.OnClickListener(){
  14. @Override
  15. publicvoidonClick(DialogInterfacedialog,intwhich){
  16. dialog.cancel();
  17. }
  18. }).show();
  19. }

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

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

<uses-permission

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

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

GL(arui319)

http://blog.csdn.net/arui319

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

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

更多相关文章

  1. 读取android手机流量信息
  2. Android使用Retrofit进行网络请求
  3. Android(安卓)热点开关状态的判断和获取热点ssid
  4. android用户界面-组件Widget-地图视图MapView
  5. Android中判断网络功能是否可用
  6. Android的网络状态判断
  7. android studio升级方法
  8. android adb工具
  9. Android(安卓)7.0 https/tls证书配置问题

随机推荐

  1. Android之玩转View(一):Paint的基础api
  2. Android无驱usb音频实现
  3. Android的国际化及开发中遇到的问题解决[
  4. Android(安卓)3.0以上UI主线程进行http通
  5. 《Android(安卓)Dev Guide》系列教程16:用
  6. 通过模拟学习Handler机制
  7. Android学习探索之Java 8 在Android(安卓
  8. Android(安卓)环境配置,和一系列问题的解
  9. Android架构纵横谈之——软件自愈能力 (2)
  10. Android(安卓)打造自己的个性化应用(三):