Android开发获取连接的WIFI名称

首先加入定位权限,和WIFI状态访问权限



开启定位并获取连接wifi名称

private final int REQUEST_LOCATION = 201;

   @RequiresApi(api = Build.VERSION_CODES.M)
    private void initView() {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {//未开启定位权限
            //开启定位权限,201是标识码
            this.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION);
        } else {
            if (!"unknown ssid".equals(getConnectWifiSsid())) {
                binding.tvWifiName.setText(getConnectWifiSsid());
            }
        }
    }

    private String getConnectWifiSsid() {//获取wifi名称并去掉双引号
        WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        return wifiInfo.getSSID().replace("\"", "").replace("<", "").replace(">", "");
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
            case REQUEST_LOCATION:
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {//用户同意权限,执行我们的操作
                    if (!"unknown ssid".equals(getConnectWifiSsid())) {
                        binding.tvWifiName.setText(getConnectWifiSsid());
                    }
                } else {//用户拒绝之后,当然我们也可以弹出一个窗口,直接跳转到系统设置页面
                    Toast.makeText(this, "未开启定位权限,请到设置去开启权限", Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }

你可能感兴趣的:(Android,android,wifi)