android学习之wifimanager

android学习之wifimanager

博客分类:

•       android

 

Java代码  

1.      importjava.util.List; 

2.       

3.      importandroid.content.Context; 

4.      importandroid.net.wifi.ScanResult; 

5.      importandroid.net.wifi.WifiConfiguration; 

6.      importandroid.net.wifi.WifiInfo; 

7.      importandroid.net.wifi.WifiManager; 

8.      importandroid.net.wifi.WifiManager.WifiLock; 

9.       

10.   publicclass WifiAdmin 

11.   { 

12.       //定义WifiManager对象 

13.       private WifiManager mWifiManager; 

14.       //定义WifiInfo对象 

15.       private WifiInfo mWifiInfo; 

16.       //扫描出的网络连接列表 

17.       private List<ScanResult>mWifiList; 

18.       //网络连接列表 

19.       private List<WifiConfiguration>mWifiConfiguration; 

20.       //定义一个WifiLock 

21.       WifiLock mWifiLock; 

22.       //构造器 

23.       public WifiAdmin(Context context) 

24.       { 

25.           //取得WifiManager对象 

26.           mWifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); 

27.           //取得WifiInfo对象 

28.           mWifiInfo =mWifiManager.getConnectionInfo(); 

29.       } 

30.       //打开WIFI 

31.       public void OpenWifi() 

32.       { 

33.           if (!mWifiManager.isWifiEnabled()) 

34.           { 

35.              mWifiManager.setWifiEnabled(true); 

36.                

37.           } 

38.       } 

39.       //关闭WIFI 

40.       public void CloseWifi() 

41.       { 

42.           if (!mWifiManager.isWifiEnabled()) 

43.           { 

44.              mWifiManager.setWifiEnabled(false);  

45.           } 

46.       } 

47.       //锁定WifiLock,当下载大文件时需要锁定 

48.       public void AcquireWifiLock() 

49.       { 

50.           mWifiLock.acquire(); 

51.       } 

52.       //解锁WifiLock 

53.       public void ReleaseWifiLock() 

54.       { 

55.           //判断时候锁定 

56.           if (mWifiLock.isHeld()) 

57.           { 

58.               mWifiLock.acquire(); 

59.           } 

60.       } 

61.       //创建一个WifiLock 

62.       public void CreatWifiLock() 

63.       { 

64.           mWifiLock =mWifiManager.createWifiLock("Test"); 

65.       } 

66.       //得到配置好的网络 

67.       public List<WifiConfiguration>GetConfiguration() 

68.       { 

69.           return mWifiConfiguration; 

70.       } 

71.       //指定配置好的网络进行连接 

72.       public void ConnectConfiguration(intindex) 

73.       { 

74.           //索引大于配置好的网络索引返回 

75.           if(index >mWifiConfiguration.size()) 

76.           { 

77.               return; 

78.           } 

79.           //连接配置好的指定ID的网络 

80.          mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,true); 

81.       } 

82.       public void StartScan() 

83.       { 

84.           mWifiManager.startScan(); 

85.           //得到扫描结果 

86.           mWifiList =mWifiManager.getScanResults(); 

87.           //得到配置好的网络连接 

88.           mWifiConfiguration =mWifiManager.getConfiguredNetworks(); 

89.       } 

90.       //得到网络列表 

91.       public List<ScanResult>GetWifiList() 

92.       { 

93.           return mWifiList; 

94.       } 

95.       //查看扫描结果 

96.       public StringBuilder LookUpScan() 

97.       { 

98.           StringBuilder stringBuilder = newStringBuilder(); 

99.           for (int i = 0; i <mWifiList.size(); i++) 

100.         { 

101.            stringBuilder.append("Index_"+new Integer(i + 1).toString() +":"); 

102.             //将ScanResult信息转换成一个字符串包 

103.             //其中把包括:BSSID、SSID、capabilities、frequency、level 

104.            stringBuilder.append((mWifiList.get(i)).toString()); 

105.            stringBuilder.append("\n"); 

106.         } 

107.         return stringBuilder; 

108.     } 

109.     //得到MAC地址 

110.     public String GetMacAddress() 

111.     { 

112.         return (mWifiInfo == null) ?"NULL" : mWifiInfo.getMacAddress(); 

113.     } 

114.     //得到接入点的BSSID 

115.     public String GetBSSID() 

116.     { 

117.         return (mWifiInfo == null) ?"NULL" : mWifiInfo.getBSSID(); 

118.     } 

119.     //得到IP地址 

120.     public int GetIPAddress() 

121.     { 

122.         return (mWifiInfo == null) ? 0 :mWifiInfo.getIpAddress(); 

123.     } 

124.     //得到连接的ID 

125.     public int GetNetworkId() 

126.     { 

127.         return (mWifiInfo == null) ? 0 :mWifiInfo.getNetworkId(); 

128.     } 

129.     //得到WifiInfo的所有信息包 

130.     public String GetWifiInfo() 

131.     { 

132.         return (mWifiInfo == null) ?"NULL" : mWifiInfo.toString(); 

133.     } 

134.     //添加一个网络并连接 

135.     public void AddNetwork(WifiConfigurationwcg) 

136.     { 

137.         int wcgID =mWifiManager.addNetwork(wcg);  

138.         mWifiManager.enableNetwork(wcgID,true);  

139.     } 

140.     //断开指定ID的网络 

141.     public void DisconnectWifi(int netId) 

142.     { 

143.        mWifiManager.disableNetwork(netId); 

144.         mWifiManager.disconnect(); 

145.     } 

146. } 

 

 

添加权限:

Java代码  

1.      <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  

2.          <uses-permissionandroid:name="android.permission.ACCESS_CHECKIN_PROPERTIES"></uses-permission>  

3.          <uses-permissionandroid:name="android.permission.WAKE_LOCK"></uses-permission>  

4.          <uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>  

5.          <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  

6.          <uses-permissionandroid:name="android.permission.MODIFY_PHONE_STATE"></uses-permission> 

 

 

Java代码  

1.      判断wifi的安全网络类型调用 

2.      ScanResult.capabilities 

 


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值