android 登录前检查网络状态

http://1002878825-qq-com.iteye.com/blog/1194801

Java代码  

  1. package com.dx;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.AlertDialog;  
  5. import android.content.Context;  
  6. import android.net.ConnectivityManager;  
  7. import android.net.NetworkInfo;  
  8. import android.net.NetworkInfo.State;  
  9. import android.os.Bundle;  
  10. import android.widget.TextView;  
  11.   
  12. public class Main extends Activity {  
  13.     /** Called when the activity is first created. */  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17. //        setContentView(R.layout.main);  
  18.         TextView textView = new TextView(this);  
  19.         textView.setText("网络检测");  
  20.         setContentView(textView);  
  21.           
  22.         if(checkNetWorkInfo()){  
  23.             goToNetWork();  
  24.         };  
  25.     }  
  26.   
  27.     private boolean goToNetWork() {  
  28.         // TODO Auto-generated method stub  
  29.         ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
  30.         NetworkInfo info = connectivityManager.getActiveNetworkInfo();  
  31.         if(info == null || !info.isAvailable()){  
  32.             new AlertDialog.Builder(this).setMessage("没有可以使用的网络").setPositiveButton("Ok", null).show();      
  33.             return false;  
  34.         }  
  35.         else{  
  36.             new AlertDialog.Builder(this).setMessage("网络正常可以使用").setPositiveButton("Ok", null).show();      
  37.             return true;  
  38.         }  
  39.           
  40.           
  41.     }  
  42.   
  43.     private boolean checkNetWorkInfo() {  
  44.         // TODO Auto-generated method stub  
  45.         ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
  46.         State wifi  = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
  47.         if(wifi != null){  
  48.             new AlertDialog.Builder(this).setMessage(wifi.toString()).setPositiveButton("wifi", null).show();//显示wifi网络连接状态      
  49.             return true;  
  50.               
  51.         }else{  
  52.             State mobile  = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
  53.             if(mobile != null){  
  54.                 new AlertDialog.Builder(this).setMessage(mobile.toString()).setPositiveButton("3G", null).show();//显示3G网络连接状态      
  55.                 return true;  
  56.             }  
  57.         }  
  58.         return false;  
  59.           
  60.     }  
  61. }  

在手机应用与网络交互数据的时候,我们首先要判断有没有可用的网络,如果没有则跳到相应的网络设置页面,方法详见代码:

private boolean CheckNetwork() {
       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 whichButton) {
                   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);
               }
           }).setNeutralButton("取消", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int whichButton) {
                   dialog.cancel();
               }
           }).create();
           b.show();
       } 

       return flag;
   }
时间: 2012-05-11

android 登录前检查网络状态的相关文章

Android通过ConnectivityManager检查网络状态_Android

在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager来完成该工作. ConnectivityManager有四个主要任务: 1.监听手机网络状态(包括GPRS,WIFI, UMTS等) 2.手机状态发生改变时,发送广播 3.当一个网络连接失败时进行故障切换 4.为应用程序提供可以获取可用网络的高精度和粗糙的状态当我们要在程序中监听网络状态时,只要一下几个步骤即可: 1.定义一个Receiver重载

Android通过ConnectivityManager检查网络状态

在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager来完成该工作. ConnectivityManager有四个主要任务: 1.监听手机网络状态(包括GPRS,WIFI, UMTS等) 2.手机状态发生改变时,发送广播 3.当一个网络连接失败时进行故障切换 4.为应用程序提供可以获取可用网络的高精度和粗糙的状态当我们要在程序中监听网络状态时,只要一下几个步骤即可: 1.定义一个Receiver重载

Android 广播监听网络状态详解及实例代码

Android 广播监听网络状态 我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断. 这时候,我们一般情况下,两种方式进行处理. 第一: 开启服务. 第二:发送广播的形式. 建议采用方法二. 源代码如下: 广播: /** * 有网络的广播 */ BroadcastReceiver connectionReceiver = new BroadcastReceiver() { @O

android网络状态判断(wifi、3G、2G)

首先需要加入权限  代码如下 复制代码 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>     <uses-permission android:name="android.permission.INTERNET"/> 检查网络状态代码如下  代码如下 复制代码 public boolean Che

Android检查手机网络状态及网络类型的方法_Android

本文实例讲述了Android检查手机网络状态及网络类型的方法.分享给大家供大家参考.具体分析如下: //judge network status is connecting or not public static boolean checkNetworkConnected(Context context) { if (null!=context) { ConnectivityManager connectivityManager = (ConnectivityManager) context

Android中Wifi/3G网络连接

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网 络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类 ,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager 的作用: Class that answers queries about the state of network connectivity. It also notifies ap

android 检查网络连接状态实现步骤_Android

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn

Android检查手机网络状态及网络类型的方法

本文实例讲述了Android检查手机网络状态及网络类型的方法.分享给大家供大家参考.具体分析如下: //judge network status is connecting or not public static boolean checkNetworkConnected(Context context) { if (null!=context) { ConnectivityManager connectivityManager = (ConnectivityManager) context

Android中 检查网络连接状态的变化,无网络时跳转到设置界面

在AndroidManifest.xml中加一个声明 <receiver android:name="NetCheckReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> NetCheckReceive.java文件如下 im