android build.board unknown,Android 8.0和9.0无法获取SSID (unknow ssid)

一直都在做wifi相关的东西

今天遇到一个问题是8.0的机型无法获取到ssid

然后就查询了一番 终于找到解决方案

wifi名称获取代码

WifiManager my_wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));

assert my_wifiManager != null;

wifiInfo = my_wifiManager.getConnectionInfo();

ssid = wifiInfo.getSSID();复制代码

6844903926249209864

8.0 解决方案两个方法

一、就是用下面的代码可以获取(不建议使用)

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

assert cm != null;

NetworkInfo info = cm.getActiveNetworkInfo();

if (info != null && info.isConnected()) {

ssid = info.getExtraInfo();

logger.info("WiFi SSID: " + ssid);

}

}复制代码

6844903926249209864

二、申请权限 定位权限就好了

复制代码

6844903926249209864

9.0在8.0基础上新增权限

复制代码

6844903926249209864

9.0华为手机无法获取解决方案

WifiManager my_wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));

assert my_wifiManager != null;

wifiInfo = my_wifiManager.getConnectionInfo();

ssid = wifiInfo.getSSID();

int networkId = wifiInfo.getNetworkId();

List configuredNetworks = my_wifiManager.getConfiguredNetworks();

for (WifiConfiguration wifiConfiguration:configuredNetworks){

if (wifiConfiguration.networkId==networkId){

ssid=wifiConfiguration.SSID;

break;

}

}复制代码

6844903926249209864

权限申请

使用开源库

implementation 'com.yanzhenjie:permission:2.0.0-rc12'

复制代码

6844903926249209864

if (AndPermission.hasPermissions(this, Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION)) {

if (NetUtils.getInstance().isWifi(TabActivity.this)) {

startActivity(new Intent(TabActivity.this, WifiManagerActivity.class));

overridePendingTransition(R.anim.in_from_right, R.anim.out_to_right);

} else {

com.xinli.wenet.utils.Toast.show(TabActivity.this, "请连接Wi-Fi后操作", 1);

}

} else {

requestPermission(Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);

}复制代码

6844903926249209864

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值