栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android判断设备网络连接状态及判断连接方式的方法

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android判断设备网络连接状态及判断连接方式的方法

本文实例讲述了Android判断设备网络连接状态及判断连接方式的方法。分享给大家供大家参考,具体如下:

在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络。判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线连接还是GPRS手机网络连接,这样就可以在不同的网络连接下去调用不同的方法,处理不同的事情。这些功能都写在了下面的代码中了!请看主要代码如下:

 
private boolean checkNetworkState() {
   boolean flag = false;
   //得到网络连接信息
   manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
   //去进行判断网络是否连接
   if (manager.getActiveNetworkInfo() != null) {
     flag = manager.getActiveNetworkInfo().isAvailable();
   }
   if (!flag) {
     setNetwork();
   } else {
     isNetworkAvailable();
   }
   return flag;
}

private void setNetwork(){
   Toast.makeText(this, "wifi is closed!", Toast.LENGTH_SHORT).show();
   alertDialog.Builder builder = new alertDialog.Builder(this);
   builder.setIcon(R.drawable.ic_launcher);
   builder.setTitle("网络提示信息");
   builder.setMessage("网络不可用,如果继续,请先设置网络!");
   builder.setPositiveButton("设置", new onClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
Intent intent = null;

if (android.os.Build.VERSION.SDK_INT > 10) {
  intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
} else {
  intent = new Intent();
  ComponentName component = new ComponentName(
      "com.android.settings",
      "com.android.settings.WirelessSettings");
  intent.setComponent(component);
  intent.setAction("android.intent.action.VIEW");
}
startActivity(intent);
     }
   });
   builder.setNegativeButton("取消", new onClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
     }
   });
   builder.create();
   builder.show();
}

private void isNetworkAvailable(){
   State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
  State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
  if(gprs == State.ConNECTED || gprs == State.CONNECTING){
    Toast.makeText(this, "wifi is open! gprs", Toast.LENGTH_SHORT).show();
  }
  //判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载!
  if(wifi == State.ConNECTED || wifi == State.CONNECTING){
    Toast.makeText(this, "wifi is open! wifi", Toast.LENGTH_SHORT).show();
    loadAdmob();
  }
}

希望本文所述对大家Android程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/164109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号