android不同版本(支持>10)获取当前连接的wifi名称

1、AndroidManifest.xml 配置权限

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
   <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />

2、手动申请权限

 在登录或首页activity中添加该方法,并在onCreate()方法中调用:

protected void applyPermission() {
        String[] permissions = {
                Manifest.permission.READ_EXTERNAL_STORAGE,
                Manifest.permission.INTERNET,
                Manifest.permission.ACCESS_NETWORK_STATE,
                Manifest.permission.MODIFY_AUDIO_SETTINGS,
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.WRITE_SETTINGS,
                Manifest.permission.READ_PHONE_STATE,
                Manifest.permission.ACCESS_WIFI_STATE,
                Manifest.permission.CHANGE_WIFI_STATE,
                Manifest.permission.CHANGE_NETWORK_STATE,
                Manifest.permission.RECORD_AUDIO,
                Manifest.permission.READ_CALENDAR,
                Manifest.permission.READ_CONTACTS,
                Manifest.permission.ACCESS_COARSE_LOCATION,
                Manifest.permission.ACCESS_FINE_LOCATION,
                Manifest.permission.WAKE_LOCK,
                Manifest.permission.CAMERA,
                Manifest.permission.MODIFY_PHONE_STATE,
                Manifest.permission.CHANGE_WIFI_MULTICAST_STATE
        };

        ArrayList<String> toApplyList = new ArrayList<>();
        for (String perm : permissions) {
            if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this, perm)) {
                toApplyList.add(perm);
                //进入到这里代表没有权限.
            }
        }
        String[] tmpList = new String[toApplyList.size()];
        if (!toApplyList.isEmpty()) {
            ActivityCompat.requestPermissions(this, toApplyList.toArray(tmpList), 1);
        }
    }

3、获取当前连接的wifi名称的方法

private void getConnectWifiSsid2(){
    WifiManager mWifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    //这里获取的是连接的wifi名称
    String connect_wifi_name = mWifiManager.getConnectionInfo().getSSID().replace("\"", "");
    Log.d("getConnectWifiSsid", "connect_wifi_name:" + connect_wifi_name); //打印全部wifi信息
    Log.d("getConnectWifiSsid", "SSID:" + connect_wifi_name);      //打印SSID
}

提示:APP安装完成之后,重启生效

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取Android设备的Wi-Fi所有信息,可以使用以下代码: 1. 在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` 2. 在代码中使用以下代码获取Wi-Fi所有信息: ```java WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String ssid = wifiInfo.getSSID(); // 获取SSID String bssid = wifiInfo.getBSSID(); // 获取BSSID int ip = wifiInfo.getIpAddress(); // 获取IP地址 int networkId = wifiInfo.getNetworkId(); // 获取网络ID int speed = wifiInfo.getLinkSpeed(); // 获取连接速度 String macAddress = wifiInfo.getMacAddress(); // 获取MAC地址 int frequency = wifiInfo.getFrequency(); // 获取频率 int signalStrength = wifiInfo.getRssi(); // 获取信号强度 int signalLevel = WifiManager.calculateSignalLevel(signalStrength, 5); // 获取信号等级 String networkTypeName = getNetworkTypeName(wifiInfo.getNetworkType()); // 获取网络类型名称 String dhcpInfo = wifiManager.getDhcpInfo().toString(); // 获取DHCP信息 String supplicantStateName = wifiInfo.getSupplicantState().name(); // 获取当前连接状态 // 获取所有扫描到的Wi-Fi信息 List<ScanResult> scanResults = wifiManager.getScanResults(); for (ScanResult scanResult : scanResults) { String scanResultSsid = scanResult.SSID; // 获取SSID String scanResultBssid = scanResult.BSSID; // 获取BSSID int scanResultFrequency = scanResult.frequency; // 获取频率 int scanResultLevel = scanResult.level; // 获取信号强度 } ``` 注意:需要在AndroidManifest.xml文件中添加权限才能获取Wi-Fi信息。另外,获取到的信息可能不是实时的,需要根据实际情况进行判断和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值