Wifi的五种状态
WifiManager.WIFI_STATE_ENABLED//已打开
WifiManager.WIFI_STATE_DISABLING//正在关闭
WifiManager.WIFI_STATE_ENABLING//正在打开
WifiManager.WIFI_STATE_DISABLED//已关闭
WifiManager.WIFI_STATE_UNKNOWN//未知
一、打开关闭Wifi
添加权限
<uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission
android:name="android.permission.INTERNET"></uses-permission>
<uses-permission
android:name="android.permission.WAKE_LOCK"></uses-permission>
private ToggleButton toggleButton1;
private WifiManager mWiFiManager01;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wifi);
toggleButton1 = (ToggleButton)findViewById(R.id.toggleButton1);
/* 以getSystemService取得WIFI_SERVICE */
mWiFiManager01 = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if(mWiFiManager01.getWifiState() == WifiManager.WIFI_STATE_ENABLED){
toggleButton1.setChecked(true);
toggleButton1.setEnabled(true);
}
else if(mWiFiManager01.getWifiState() == WifiManager.WIFI_STATE_DISABLED){
toggleButton1.setChecked(false);
toggleButton1.setEnabled(true);
}
else{
toggleButton1.setChecked(false);
toggleButton1.setEnabled(false);
}
toggleButton1.setOnCheckedChangeListener(new ToggleButton.OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked == true){
mWiFiManager01.setWifiEnabled(true);
}
else{
mWiFiManager01.setWifiEnabled(false);
}
}
});
}
二、搜索wifi
private Button button1;
private WifiManager mWiFiManager01;
private SimpleAdapter listItemAdapter; // ListView的适配器
private ArrayList<HashMap<String, Object>> listItem; // ListView的数据源,这里是一个HashMap的列表
private ListView myList; // ListView控件
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wifi_connect);
button1 = (Button) findViewById(R.id.button1);
mWiFiManager01 = (WifiManager) this
.getSystemService(Context.WIFI_SERVICE);
mWiFiManager01.startScan();
listItem = new ArrayList<HashMap<String, Object>>();
listItemAdapter = new SimpleAdapter(this, listItem, R.layout.list_item,
new String[] { "title", "text" }, new int[] { R.id.ItemTitle,
R.id.ItemText });
myList = (ListView) findViewById(R.id.list);
myList.setAdapter(listItemAdapter);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
List<WifiConfiguration> wifiConf = mWiFiManager01
.getConfiguredNetworks();
if ((!mWiFiManager01.isWifiEnabled())
&& (mWiFiManager01.getWifiState() != WifiManager.WIFI_STATE_ENABLING)) {
mWiFiManager01.setWifiEnabled(true);
}
if (wifiConf.size() > 0) {
int netWorkId = wifiConf.get(0).networkId;
mWiFiManager01.enableNetwork(netWorkId, true);
int index = 0;
for (WifiConfiguration singleWifiConf : wifiConf) {
addItem((index + 1) + " SSID." + singleWifiConf.SSID, "NetWorkID:"
+ singleWifiConf.networkId);
index = index + 1;
}
}
}
});
}
private void addItem(String title, String str) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("title", title);
map.put("text", str);
listItem.add(map);
listItemAdapter.notifyDataSetChanged();
}
- 大小: 11.7 KB
- 大小: 11.6 KB
- 大小: 36.5 KB
分享到:
相关推荐
本文将详细讲解如何在Android设备上关闭Wi-Fi并启用移动数据网络。 首先,我们要理解这两个网络连接的基本概念。Wi-Fi是一种无线局域网(WLAN)技术,允许设备通过无线电波连接到互联网,通常速度较快且流量费用较...
Wifi连接网络,通过程序你将了解到定义WifiManager对象,定义WifiInfo对象,获取网络连接列表,定义一个WifiLock,打开Wifi网卡,关闭Wifi网卡,检查当前Wifi网卡状态,扫描周边网络,每次点击扫描之前清空上一次的...
本篇文章将深入探讨如何在Android应用中设置WiFi热点、以及如何监听热点的开启和关闭事件。以下是对相关知识点的详细说明: 1. **WiFi热点API**:Android提供了`ConnectivityManager`和`WifiManager`这两个系统服务...
这份" WIFI连接源码(WIFI扫描 WIFI打开 WIFI关闭 WIFI连接).rar "压缩包文件提供了实现这些功能的源代码。下面我们将详细探讨涉及的四个关键模块:`control_wifi`、`client_socket`、`wifi_info`和`android_web_...
在uni-app中,通过调用原生插件,我们可以实现与Android系统更深度的交互,比如控制WiFi的开启与关闭,以及其他一些特定的硬件操作。\n\n1. **调用原生插件原理**\n 在uni-app中,调用Android原生功能主要是通过`uni...
1. **Wi-Fi状态管理**:`WifiManager` 提供了获取当前Wi-Fi状态的方法,如`isWifiEnabled()` 可以检查Wi-Fi是否已打开,`setWifiEnabled()` 则可以用来开启或关闭Wi-Fi。 2. **扫描网络**:通过`startScan()` 方法...
2. 打开/关闭WiFi:`WifiManager`提供了`enable()`和`disable()`方法来开启或关闭WiFi。但请注意,这些操作可能需要用户权限,所以在AndroidManifest.xml中添加`ACCESS_FINE_LOCATION`或`ACCESS_COARSE_LOCATION`...
从压缩包文件名"Android应用源码开关WIFI热点搜索连接开源有注释"来看,这可能是一个开源的Android应用项目,包含了实现Wi-Fi开关、热点创建、网络搜索和连接功能的源代码。通过阅读和分析这些源码,开发者可以学习...
`WifiManager`是Android系统中用于管理WiFi连接的核心组件,它提供了多种与WiFi相关的功能,如扫描可用的WiFi网络、连接到指定的网络、关闭或开启WiFi等。在处理WiFi热点连接问题时,我们通常会用到`enableNetwork...
这个问题通常发生在设备的WiFi状态由关闭切换到打开的过程中,应用尝试立即获取WiFi网络信息时,可能会出现响应缓慢的现象,导致用户界面(UI)加载数据的时间过长,影响用户体验。本文将通过分析问题、分享解决方案...
`WifiManager`提供了`isWifiEnabled()`方法,用于检查WiFi是否已打开: ```java boolean isWifiEnabled = wifiManager.isWifiEnabled(); if (isWifiEnabled) { // WiFi已开启 } else { // WiFi已关闭 } ``` 为了...
这个服务允许应用程序打开、关闭WIFI,并获取WIFI的状态信息。`Toast`则是Android中一种轻量级的提示机制,用于短暂地显示一些简短的信息给用户,而不会中断当前的操作流程。在"android WIFI管理,Toast提示"这个...
开启WiFi热点的关键在于调用`WifiManager`的`createWifiInetSocket()`方法来创建一个WiFi接入点(即热点),然后使用`setWifiApEnabled()`方法来启用或禁用这个热点。为了设置热点的名称(SSID)和密码(预共享密钥...
本“用于测试WiFi的demo”是一个专门为开发者设计的示例项目,它包含了实现WiFi功能操作的核心代码,如打开、关闭WiFi以及追踪WiFi状态的逻辑。这个Demo对于理解如何在Android或iOS等平台上进行WiFi相关的编程实践...
5. **保存配置**:在某些情况下,比如系统重启或用户手动关闭再打开WIFI,需要保存当前的网络配置,以便下次自动连接。这可以通过调用`WifiManager.saveConfiguration()`来实现。 然而,根据描述,当在Android 5.0...
本文将深入探讨如何在Android平台上实现WiFi相关的功能,包括打开和关闭WiFi、查询WiFi状态、搜索附近的WiFi热点、连接和断开网络以及检查网络连接状态。 首先,我们来了解如何打开和关闭WiFi。在Android中,这些...
例如,`ACCESS_WIFI_STATE`用于获取WiFi状态,`CHANGE_WIFI_STATE`用于改变WiFi状态(如开启/关闭),以及`INTERNET`权限,确保通过WiFi的网络访问。 3. **扫描WiFi网络**: - 调用`WifiManager.startScan()`方法...
Wifi连接网络,通过程序你将了解到定义WifiManager对象,定义WifiInfo对象,获取网络连接列表,定义一个WifiLock,打开Wifi网卡,关闭Wifi网卡,检查当前Wifi网卡状态,扫描周边网络,每次点击扫描之前清空上一次的...
Register()方法可以注册一个监听wifi...还通过取得WifiManager对象实现的对wifi打开关闭的操作;通过wifiManger获取到WiFiInfo获取到当前的设备的MAC地址,接入点的BSSID,IP地址,连接的ID,WifiInfo的所有信息包等。
在Android开发中,WiFi...总之,Android WiFi开发涉及到权限管理、`WifiManager`对象的使用以及相关事件的监听。理解并掌握这些基础知识,可以帮助开发者构建出功能丰富的移动应用,满足用户在不同场景下的网络需求。