zoukankan      html  css  js  c++  java
  • android之检測是否有网络

    主要是用来检測是否有网络,假设没有,就去wifi里面去进行设置网络。。。

      以下贴一下主要代码:

    private void checkNetWorkInfo() {
    		if (!Tools.isNetworkAvailable(this)) {
    			new AlertDialog.Builder(this)
    					.setTitle("提示!")
    					.setIcon(android.R.drawable.ic_dialog_info)
    					.setMessage("检測到你还没开启网络,请开启")
    					.setNegativeButton("取消", null)
    					.setPositiveButton("开启",
    							new DialogInterface.OnClickListener() {
    
    								@Override
    								public void onClick(DialogInterface dialog,
    										int which) {
    									startActivity(new Intent(
    											Settings.ACTION_WIRELESS_SETTINGS));// 进入无线网络配置界面
    									startActivity(new Intent(
    											Settings.ACTION_WIFI_SETTINGS)); // 进入手机中的wifi网络设置界面
    								}
    							}).show();
    		}
    	}

    isNetworkAvailable里面的代码:

    /*
    	 * 推断是否有网络
    	 */
    	public static boolean isNetworkAvailable(Context context) {
    		ConnectivityManager cm = (ConnectivityManager) context
    				.getSystemService(Context.CONNECTIVITY_SERVICE);
    		if (cm == null) {
    			return false;
    		} else {
    			// 打印全部的网络状态
    			NetworkInfo[] infos = cm.getAllNetworkInfo();
    			if (infos != null) {
    				for (int i = 0; i < infos.length; i++) {
    					// Log.d(TAG, "isNetworkAvailable - info: " +
    					// infos[i].toString());
    					if (infos[i].getState() == NetworkInfo.State.CONNECTED) {
    						Log.d(TAG, "isNetworkAvailable -  I " + i);
    					}
    				}
    			}
    
    			// 假设不过用来推断网络连接      
    			// 则能够使用 cm.getActiveNetworkInfo().isAvailable();
    			NetworkInfo networkInfo = cm.getActiveNetworkInfo();
    			if (networkInfo != null) {
    				Log.d(TAG,
    						"isNetworkAvailable - 是否有网络: "
    								+ networkInfo.isAvailable());
    			} else {
    				Log.d(TAG, "isNetworkAvailable - 完毕没有网络!

    "); return false; } // 1、推断是否有3G网络 if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { Log.d(TAG, "isNetworkAvailable - 有3G网络"); return true; } else { Log.d(TAG, "isNetworkAvailable - 没有3G网络"); } // 2、推断是否有wifi连接 if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { Log.d(TAG, "isNetworkAvailable - 有wifi连接"); return true; } else { Log.d(TAG, "isNetworkAvailable - 没有wifi连接"); } } return false; }



     

  • 相关阅读:
    IIS应用程序池自动化回收脚本
    gitlab修改克隆地址
    docker安装的gitalb备份及数据迁移
    docker安装gitlab
    docker安装的gitlab备份脚本
    sql server 2016 维护计划执行,提示执行失败。有关详细信息,请参阅维护计划和sql server 代理作业历史记录日志。
    SSH使用证书登录
    docker搭建 rabbitmq集群
    VMware Workstation Pro设置nat模式上网
    docker-compose搭建discuz论坛
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6821946.html
Copyright © 2011-2022 走看看