当前位置:首页 » 安卓系统 » android切换wifi

android切换wifi

发布时间: 2023-03-10 01:50:49

① Android的WiFi功能总结

先进行WiFi权限的声明

<!-- 获取WiFi状态 -->

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

<!--  api <= Android29调用setWifiEnabled  -->

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

<!-- 定位权限(api >= 23 用于 WIFI扫描)-->

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

注意:ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION是危险级权限需要使用中还需要动态申请,申请其中一个即可。

WifiManager mWifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.R) {

Intent panelIntent =new Intent(Settings.Panel.ACTION_WIFI);

startActivityForResult(panelIntent,null);

}else{ mWifiManager.setWifiEnabled(!isEnable);}

可以通过监听系统广播来了解WiFi状态。

WIFI_STATE_CHANGED_ACTION:WiFi开关状态;

SCAN_RESULTS_AVAILABLE_ACTION:WiFi列表变化;

RSSI_CHANGED_ACTION:WiFi信号强度变化。

IntentFilter mFilter =new IntentFilter();

mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);

mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);

mReceiver =new BroadcastReceiver() {

@Override

public void onReceive(Context context,Intent intent) {

    handleEvent(intent);

}

};

registerReceiver(mReceiver, mFilter);

private void handleEvent(Intent intent) {

String action = intent.getAction();

if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {

final int wifiState =mWifiManager.getWifiState();

if(wifiState ==WifiManager.WIFI_STATE_ENABLED){

    postDelayed(()->{mRefreshLayout.autoRefresh();},1000);

}

}else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) {

}else if (WifiManager.RSSI_CHANGED_ACTION.equals(action)) {

if(System.currentTimeMillis() -mLastUpateWifiRssiTime <1000){//刷新太快

            return;

}

}

updateWifiChange();

}

切记:wifistate切换到WifiManager.WIFI_STATE_ENABLED,mWifiManager.isWifiEnabled()需要有个等待时间切换。

3的基础上解析广播应答

private void updateWifiChange() {

final int wifiState =mWifiManager.getWifiState();

switch (wifiState) {

case WifiManager.WIFI_STATE_ENABLED:

ArrayListresults = (ArrayList)mWifiManager.getScanResults();

updateApListView(results);

mWlanSb.setChecked(mWifiManager.isWifiEnabled() );

break;

case WifiManager.WIFI_STATE_ENABLING:

break;

case WifiManager.WIFI_STATE_DISABLING:

mAdapter.clearData();

mWlanSb.setChecked(mWifiManager.isWifiEnabled() );

break;

case WifiManager.WIFI_STATE_DISABLED:

break;

}

}

② 如何进行android中的启动和关闭WiFi服务

一般是手机上的应用有联网行为,而没有网络可用的情况下的一种提示。 您可尝试如下操作: 1. 重启手机试试 2. 设定--应用程序管理器--全部--Android 系统/设定--清除数据试试 3. 换其他sim卡试试 4. 备份重要数据恢复出厂设置,排除第三方软件影响 5.去设置里找到一个是否在Wifi断开后自动连接移动数据的选项,把它设成了《否》。手机[设置]-[移动网络]-[网络切换提示],你可以试试。 6.还可以下载个360卫士,最好是最新版 , 先选择(安全防护),在选择(软件流量管理),就出来一个软件的列表 ,这时候你只需要打钩,就可以管理软件使用数据还是wifi上网了,希望对你有帮助

③ android wifi会自动切换

这个是自动设置的,在wifi信号很弱的情况下就牵动到移动数据,如果移动数据,有wifi连接的话就会自动断开,这是设置的不是自动切换,在手动设置里面设置成自动切换,他就会,在,wifi弱,和,有wifi的情况下,在,信号与数据之间,切换。

④ Android-WiFi详解

WiFi是一种无线联网技术,常见的是使用无线路由器。那么在这个信号覆盖的范围内都可以采用WiFi连接的方式进行联网。如果无线路由器连接了一个ADSL线路或者其他的联网线路,则又被称为“热点”。
在Android中对WiFi操作,Android本身提供一些有用的包,在anroid.net.wifi包下面。

是一种特殊的 Ad-hoc LAN (一种支持点对点访问的无线网络应用模式)的应用,一个无线网络至少由一个连接到有线网络的AP和若干无线工作站组成,这种配置称为一个基本服务装置。一群计算机设定相同的
BSS名称,即可自成一个group,而此BSS名称,即所谓BSSID。通常,手机WLAN中,bssid其实就是无线路由的MAC地址。

网络ID。

无线网络的安全认证模式。

SSID(Service Set Identif)用于标识无线局域网,SSID不同的无线网络是无法进行互访的。

wifi无线连接的描述,包括接入点,网络连接状态,隐藏的接入点,IP地址,连接速度,MAC地址,网络ID,信号强度等信息。这里简单介绍一下这里的方法:

用来管理我们的wifi 连接,这里已经定义好了一些类,可以供我们使用,获取WiFi网卡状态。

WIFI网卡的状态是由一系列的整形常量来表示的。

WiFi需求申请权限,在AndroidManifest.xml文件中填写。

1.打开WiFi

2.扫描WiFi信号

3.得到扫描WIFI结果

4.根据WIFI的名称SSID判定指定WIFI是否已经配置好,配置好则返回其networkId,用于连接。之前尝试了BSSID地址没成功,所以只能使用SSID

5.如果需要连接的WIFI没有配置好,即没有保存密码。则为指定名称ssid的WIFI添加密码信息psw,添加成功后返回给其分配的networId,同于连接

6.根据步骤6配置好需要连接的WIFI密码信息后,下面通过networkId连接指定WIFI。在连接经过步骤6刚添加配置信息的WIFI信号之前需要重新执行下步骤4,得到新的配置好信息的列表。

热点内容
cifjava代码 发布:2025-05-14 00:10:34 浏览:211
泰国电视剧密码在哪里看 发布:2025-05-13 23:54:22 浏览:480
安卓用邮件下完保存在哪里 发布:2025-05-13 23:52:31 浏览:478
解压美食蛋糕 发布:2025-05-13 23:36:25 浏览:353
php含有字符 发布:2025-05-13 23:32:08 浏览:183
如何找出苹果手机已连接wifi密码 发布:2025-05-13 23:22:52 浏览:263
ie10缓存 发布:2025-05-13 23:10:09 浏览:458
安卓手机图标怎么设置提示 发布:2025-05-13 23:07:56 浏览:809
香蕉FTP下载 发布:2025-05-13 23:07:11 浏览:940
for循环sql语句 发布:2025-05-13 22:45:49 浏览:19