Android开发 网络检测(使用广播监听)

比较简单的检测网络:

 1 /**

 2  * 检查网络是否连接

 3  * @param context

 4  * @return

 5  */

 6 public boolean isNetworkConnected(Context context) {

 7     if (context != null) {

 8         ConnectivityManager mConnectivityManager = (ConnectivityManager) context

 9                 .getSystemService(Context.CONNECTIVITY_SERVICE);

10         // 获取有效的网络信息

11         NetworkInfo mNetworkInfo = mConnectivityManager

12                 .getActiveNetworkInfo();

13         if (mNetworkInfo != null) {

14             // 返回网络是否可用

15             return mNetworkInfo.isAvailable();

16         }

17     }

18     return false;

19 }

 

用广播的方式检测网络连接状态,以及接入点的名称:

 1 /**

 2  * 网络连接广播接收

 3  * @author Administrator

 4  *

 5  */

 6 private class CheckNetStateRecevicer extends BroadcastReceiver {

 7  

 8     @Override

 9     public void onReceive(Context context, Intent intent) {

10         // TODO Auto-generated method stub

11         if (intent.getAction().equals(

12                 ConnectivityManager.CONNECTIVITY_ACTION)) {

13             Log.i("Info", "网络状态已经改变");

14             cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  // 获得网络连接服务

15             networkInfo = cm.getActiveNetworkInfo();    // 获得可用的网络信息

16  

17             if (networkInfo != null

18                     && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {

19                 String netId = networkInfo.getExtraInfo();    // 获得手机接入点的网络模式

20                 Toast.makeText(context, "网络已连接至" + netId, Toast.LENGTH_SHORT)

21                 .show();

22             } else if (networkInfo != null

23                     && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {

24                 WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);

25                 String ssid = wm.getConnectionInfo().getSSID().toString();  // 获得WiFi接入点的名称

26                 Toast.makeText(context, "网络已连接至" + ssid, Toast.LENGTH_SHORT)

27                 .show();

28             } else {

29                 Toast.makeText(context, "网络出现异常", Toast.LENGTH_LONG).show();

30             }

31         }

32  

33     }

34 }

 

你可能感兴趣的:(Android开发)