MainActivity.java
package com.wifi;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
public class MainActivity extends Activity {
private List<WifiConfiguration> list=new ArrayList<WifiConfiguration>();
private WifiManager manager;
private WifiInfo info;
private CheckBox checkBox;
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox=(CheckBox) findViewById(R.id.checkBox1);
textView=(TextView) findViewById(R.id.textView1);
manager=(WifiManager) getSystemService(Context.WIFI_SERVICE);
if(manager.isWifiEnabled()){
checkBox.setChecked(true);
textView.setText("WiFi已打开");
}else{
checkBox.setChecked(false);
textView.setText("WiFi已关闭");
}
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked==false){
manager.setWifiEnabled(false);
textView.setText("未打开WiFi");
}else{
manager.setWifiEnabled(true);
list=manager.getConfiguredNetworks();
if(list!=null&&list.size()>0){
int networkid=list.get(0).networkId;
manager.enableNetwork(networkid, true);
textView.setText("打开wifi");
}else{
textView.setText("未搜索到wifi");
}
}
}
});
}
}
manifest.xml
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
分享到:
相关推荐
在Android平台上,开发一款WIFI扫描的Demo应用是一项常见的任务,可以帮助用户查看并连接周围的无线网络。本Demo的目的是向开发者展示如何利用Android系统的API来实现这一功能。下面将详细介绍这个Demo涉及的关键...
Android 11 WiFi 模块 WiFi 打开函数调用流程图 Android 11 中的 WiFi 模块是如何打开的?下面是 WiFi 打开函数调用流程图的详细解释。 首先,用户打开 WiFi 时,系统会调用 WifiServiceImpl.java 中的 ...
Android 开机默认是不会打开wifi热点的,即使上次手动打开了wifi热点,改修改可以保存上次打开热点的状态,实现开机打开wifi热点功能
本篇文章将详细解析Android WiFi的工作流程,从打开WiFi到成功连接接入点(AP)的过程。 ### Android WiFi 工作流程解析 #### 1. **SystemServer 启动 ConnectivityService** - 在Android系统启动过程中,`...
在Android平台上,开发人员可以利用系统的API来实现各种功能,包括对WiFi热点的控制和状态监听。本篇文章将深入探讨如何在Android应用中设置WiFi热点、以及如何监听热点的开启和关闭事件。以下是对相关知识点的详细...
android Wifi连接代码,包括通过输入密码进行连接以及wifi连接列表状态。
在Android平台上,实现指定WiFi热点自动连接是一项涉及网络管理和设备自动化功能的技术。这一特性对于许多应用,特别是那些依赖稳定网络连接的应用,如智能家居控制、远程监控等,具有重要意义。以下将详细阐述如何...
关于网络连接或者使用蓝牙等设备时,需要判断设备是否打开或者出错以后的提示处理,需要用到将界面转向对于的设备设置界面,这里介绍具体转到系统设置界面的方法
总结起来,"android7.1打开wi-fi热点 Demo"是一个关于如何在Android 7.1系统中通过编程方式开启Wi-Fi热点的示例项目。它涉及到了系统API的使用、权限管理、反射技术以及在非系统应用中调用受保护API的技巧。对于...
4. **缓存策略**:如果WiFi信息在短时间内不需要频繁更新,可以考虑在WiFi打开并成功获取信息后将其缓存,减少后续的查询次数。 在`TestWifiDemo`这个示例项目中,开发者很可能已经展示了如何运用上述策略中的至少...
4. **打开/关闭WiFi开关**: - 在设置中,用户可以开启或关闭WiFi开关,这会控制设备是否监听和响应WiFi信号。 - 当WiFi关闭时,所有正在进行的网络连接都将中断,且无法扫描或连接任何WiFi网络。 5. **自动识别...
在Android操作系统中,管理和切换网络连接是用户日常操作的一部分,特别是在需要节省电量或者在不同网络环境之间切换时。本文将详细讲解如何在Android设备上关闭Wi-Fi并启用移动数据网络。 首先,我们要理解这两个...
使用`isWifiEnabled()`方法检查WiFi是否已开启,如果未开启,可以调用`setWifiEnabled(true)`打开WiFi。 ```java if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); } ``` **扫描周围热点...
Android 中 Wi-Fi 的打开与关闭源代码解析 Android 作为一个流行的移动操作系统,Wi-Fi 连接是其核心功能之一。用户可以通过 Wi-Fi 连接到互联网,访问各种在线资源。在 Android 中,开发者可以通过 Wi-FiManager ...
**Android端WifiDirect文件传输Demo详解** 在移动设备间实现快速、便捷的文件传输,WifiDirect是一种有效的技术。本Demo是基于Google官方的WifiDirect示例进行修改,旨在实现Android设备间的文件共享功能。让我们...
android wifi操作工具类,具备 打开wifi 关闭wifi 获取当前连接的wifi 信息 EAP接口wifi
两部手机连接wifi后,通过socket进行数据传输 说明: 测试需要两部安卓手机A,B。A手机创建WIFI热点作为服务器,B手机连接A手机WIFI热点,作为客户端。 //A手机服务器 接收数据步骤:1点击创建Wifi热点2点击"turn_on_...
在实际操作中,用户可以自由地先打开以太网或WiFi,系统会自动处理这两种网络的共存问题。例如,如果先开启以太网,设备会优先使用以太网进行外网访问;如果先开启WiFi,设备会连接到已知的WiFi网络,同时以太网可...
在Android开发过程中,调试是必不可少的一环,而无线WiFi调试为开发者提供了更加便捷的方式,无需通过USB连接设备,只需在同一个局域网内即可进行远程调试。本文将深入探讨“android wifi 调试 无线debug”这一主题...
如果需要打开Wi-Fi,可以调用`WifiManager`的`enableWifi()`方法;关闭Wi-Fi则调用`disableWifi()`。然而,这两个方法在Android 6.0(API级别23)及以上版本已弃用,现在应该使用`setWifiEnabled()`方法,该方法接受...