Android高效进阶:从数据到AI【2.2】

4.2.5 Wi-Fi 连接

在 Wi-Fi 扫描成功后,单击对应的 Wi-Fi 项进行连接。在 Wi-Fi 连接成功后,会响应WifiManager.WIFI_STATE_CHANGED_ACTION 、 NETWORK_STATE_CHANGED_ACTION系统回调,在此回调监听中判断当前 Wi-Fi 的连接状态。连接某个 Wi-Fi 的原理是,通过 Wi-Fi列表的信息获取某个 Wi-Fi 的 ScanResult 对象并且获取 Wi-Fi 的 ssid 信息以及创建对应的

WifiConfiguration 信息。

创建 WifiConfiguration:

1. if(wifiConfiguration == null) {
2. wifiConfiguration = new WifiConfiguration();
3. wifiConfiguration.SSID = "\"" + this.mConnectSSID + "\"";
4. WifiApManager.setupConnectApWifiConfig(wifiConfiguration);
5. WifiApManager.setNetwork(wifiConfiguration, this);
6. //mNetworkId 不为-1,表示连接成功
7. mNetworkId = mWifiManager.addNetwork(wifiConfiguration);
8. wifiConfiguration.networkId = this.mNetworkId;
9. Logger.d(TAG, "created new network:" + wifiConfiguration.networkId);
10. } else {
11. mNetworkId = wifiConfiguration.networkId;
12. WifiApManager.setNetwork(wifiConfiguration, this);
13. }

根据不同的 Android 版本连接 Wi-Fi:
 

1. boolean enableNetwork() {
2. Method method;
3. if(Build.VERSION.SDK_INT != Build.VERSION_CODES.JELLY_BEAN
4. && Build.VERSION.SDK_INT != Build.VERSION_CODES.JELLY_BEAN_MR1) {
5. if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
6. return this.mWifiManager.enableNetwork(this.mNetworkId, true);
7. } else if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_
CREAM_SANDWICH_MR1) {
8. try {
9. method = WifiManager.class.getMethod("connectNetwork",
Integer.TYPE);
10. method.i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值