在Android开发过程中,有时候需要使用获取手机当前连接的WiFi的功能,这样就省去了手动输入WiFi名称的步骤,这种需求一般都是涉及到手机App和硬件设备进行WiFi通讯的时候会用到,那么本篇博文就来分享一下Android手机App自动获取当前手机连接WiFi名称的方法。具体步骤如下所示。
打开项目工程,在AndroidMainfest.xml文件里加入权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
如图所示:
private String getConnectWifiSsid(){
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
Log.d("wifiInfo------", wifiInfo.toString());
Log.d("SSID------", wifiInfo.getSSID());
return wifiInfo.getSSID();
}
点击进入WIFI_SERVICE,看到的是系统的WiFi名称是加的有双引号的,具体如下所示:
根据系统的WiFi名称包含一个双引号,需要进行处理,具体处理步骤如下所示:
方法一:
String wifiInfo1 = wifiInfo.getSSID();
if (wifiInfo1.contains("\"")) {
wifiInfo1 = wifiInfo1.substring(1, wifiInfo1.length() - 1);
}
方法二:
String wifiInfo1 = wifiInfo.getSSID().replace("\"", "").replace("\"", "");
以上两种方法任选一种即可,去掉双引号之后,返回的才是真正的WiFi名称,最终写法如下所示:
private String getConnectWifiSsid() {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
// //去掉带引号的字符串方法一
// String wifiInfo1 = wifiInfo.getSSID();
// if (wifiInfo1.contains("\"")) {
// wifiInfo1 = wifiInfo1.substring(1, wifiInfo1.length() - 1);
// }
//去掉带引号的字符串方法二
String wifiInfo1 = wifiInfo.getSSID().replace("\"", "")
.replace("\"", "");
return wifiInfo1;
}
该接口返回当前连接的WiFi的wifiInfo.getSSID(),也就是WiFi名字。
本案例的需求是,获取到手机当前连接的WiFi名称,然后直接给WiFi名称的EditText控件赋值。具体使用场景如下所示:
private void initView() {
//开始配置WiFi按钮点击事件
textView = (TextView) findViewById(R.id.tv_setting_start_configuring);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String wifiName = getConnectWifiSsid(); //获取赋值WiFi名称
}
});
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有