---------------------如有兴趣,请加AndroidQQ群242431704,500人的超级群,欢迎各位的加入--------------

---------------------如有兴趣,请加AndroidQQ群242431704,500人的超级群,欢迎各位的加入--------------



/**
   * 测试ConnectivityManager ConnectivityManager主要管理和网络连接相关的操作
   * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。
   * 想访问网络状态,首先得添加权限<uses-permission
   * android:name="android.permission.ACCESS_NETWORK_STATE"/>
   * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着
   * 连接成功与否等状态。
   *
   */
   public void testConnectivityManager()
   {
   ConnectivityManager connManager = (ConnectivityManager) this
   .getSystemService(CONNECTIVITY_SERVICE);
   // 获取代表联网状态的NetWorkInfo对象
   NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
   // 获取当前的网络连接是否可用
   if (null == networkInfo)
   {
   Toast.makeText(this, "当前的网络连接不可用", Toast.LENGTH_SHORT).show();
   //当网络不可用时,跳转到网络设置页面
   startActivityForResult(new Intent(
   android.provider.Settings.ACTION_WIRELESS_SETTINGS), 1);

   } else
   {
   boolean available = networkInfo.isAvailable();
   if (available)
   {
   Log.i("通知", "当前的网络连接可用");
   Toast.makeText(this, "当前的网络连接可用", Toast.LENGTH_SHORT).show();
   } else
   {
   Log.i("通知", "当前的网络连接不可用");
   Toast.makeText(this, "当前的网络连接不可用", Toast.LENGTH_SHORT).show();
   }
   }

   State state = connManager.getNetworkInfo(
   ConnectivityManager.TYPE_MOBILE).getState();
   if (State.CONNECTED == state)
   {
   Log.i("通知", "GPRS网络已连接");
   Toast.makeText(this, "GPRS网络已连接", Toast.LENGTH_SHORT).show();
   }

   state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
   .getState();
   if (State.CONNECTED == state)
   {
   Log.i("通知", "WIFI网络已连接");
   Toast.makeText(this, "WIFI网络已连接", Toast.LENGTH_SHORT).show();
   }

   // // 跳转到无线网络设置界面
   // startActivity(new
   // Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
   // // 跳转到无限wifi网络设置界面
   // startActivity(new
   // Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));

/**
* 检查网络连接情况
*
* @return 0: None, 1: Wifi, 2: GPRS, 3: Other
*/
protected int checkNetworkType() {
// if (Global.IsDebug)
// return 1;

ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(InitActivity.CONNECTIVITY_SERVICE);
// 获取代表联网状态的NetWorkInfo对象
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
// 获取当前的网络连接是否可用
if (networkInfo == null || !networkInfo.isAvailable())
return 0;

// Wifi
State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if (State.CONNECTED == state) {
return 1;
}

// GPRS
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
if (State.CONNECTED == state) {
return 2;
}

return 3;
}

更多相关文章

  1. android去除标题栏及状态栏
  2. Google Android(安卓)SDK开发范例------------20141119
  3. okhttp源码学习分析一
  4. android 屏幕测试程序 测试R G B三色 和 全黑, 全白5种状态
  5. android 短信通知和SQLITE 应用
  6. Android(安卓)获取网络时间
  7. android wifi连接
  8. [android]组件之一Activity简介
  9. android检查网络是否正常

随机推荐

  1. 微软和Wistron再度联手,Android和Chrome O
  2. Android进阶(一)View体系
  3. (一)Android应用程序及组件简介
  4. 【Android实战开发】3G技术和Android发展
  5. AndroidManifest.xml 详解 (四) 之uses-p
  6. 阿里ctf-2014 android 第三题——so动态
  7. 成品app直播源码,Android自屏幕底部滑出更
  8. Android中Handler异步线程
  9. 3. Android(安卓)MultiMedia框架完全解析
  10. android 广播接受者