网络操作代码(NetWork)

/**
         * 返回网络是否可用
         */
        public static boolean isNetworkAvailable(Context context) {
                ConnectivityManager connectivity = (ConnectivityManager) context
                                .getSystemService(Context.CONNECTIVITY_SERVICE);
                if (connectivity == null) {
                        Log.w(TAG, "couldn't get connectivity manager");
                } else {
                        NetworkInfo[] infos = connectivity.getAllNetworkInfo();
                        if (infos != null) {
                                for (int i = 0, count = infos.length; i < count; i++) {
                                        if (infos[i].getState() == NetworkInfo.State.CONNECTED) {
                                                return true;
                                        }
                                }
                        }
                }
                return false;
        }

        /**
         * 返回网络是否漫游
         */
        public static boolean isNetworkRoaming(Context context) {
                ConnectivityManager connectivity = (ConnectivityManager) context
                                .getSystemService(Context.CONNECTIVITY_SERVICE);
                if (connectivity == null) {
                        Log.w(TAG, "couldn't get connectivity manager");
                } else {
                        NetworkInfo info = connectivity.getActiveNetworkInfo();
                        if (info != null
                                        && info.getType() == ConnectivityManager.TYPE_MOBILE) {
                                TelephonyManager telManager = (TelephonyManager) context
                                                .getSystemService(Context.TELEPHONY_SERVICE);
                                if (telManager != null && telManager.isNetworkRoaming()) {
                                        Log.v(TAG, "network is roaming");
                                        return true;
                                } else {
                                        Log.v(TAG, "network is not roaming");
                                }
                        } else {
                                Log.v(TAG, "not using mobile network");
                        }
                }
                return false;
        }

		/**
         * 返回本机IP地址
         */
        public static String getLocalIpAddress() { 
                  try { 
                    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
                      NetworkInterface intf = en.nextElement(); 
                      for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
                        InetAddress inetAddress = enumIpAddr.nextElement(); 
                        if (!inetAddress.isLoopbackAddress()) { 
                        return inetAddress.getHostAddress().toString(); 
                      } 
                    } 
                  } 
                  } catch (SocketException ex) { 
                          ex.printStackTrace();
                  } 
                  return ""; 
                }         
        /**
         * 打开wifi
         */
        public static void openWifi(Context context){
                WifiManager wifiManager = (WifiManager) context.getSystemService(Service.WIFI_SERVICE);
                try{
                        if (!wifiManager.isWifiEnabled()){//wifi 关闭
                                wifiManager.setWifiEnabled(true);//打开wifi
                                
                        }
                }catch(Exception ex){
                        ex.printStackTrace();
                }
        }

		/**
         * 手动连接wifi
         */
        public static void connectWifi(Context context,String ssid,String password){
                WifiConfiguration wfc = new WifiConfiguration();
                wfc.SSID = "\"".concat(ssid).concat("\"");
                wfc.status = WifiConfiguration.Status.DISABLED;
                wfc.priority = 40;
                
                wfc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
                wfc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
                wfc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
                wfc.allowedAuthAlgorithms.clear();
                wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
                wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
                
                
                wfc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
                wfc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
                wfc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
                wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
                wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
                wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
                wfc.preSharedKey = "\"".concat(password).concat("\"");

                WifiManager wfMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                int networkId = wfMgr.addNetwork(wfc);
                if (networkId != -1) {
                        wfMgr.enableNetwork(networkId, true);
                        wfMgr.saveConfiguration();
                }
        }




转载于:https://my.oschina.net/oppo4545/blog/194415

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值