gpt4 book ai didi

java - 尝试从连接检索数据时获取<未知 ssid>

转载 作者:行者123 更新时间:2023-12-01 22:35:11 26 4
gpt4 key购买 nike

我认为我遇到了权限问题,无法从连接获取 SSID。

我尝试过这种方法:

WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);

WifiInfo info = wifiManager.getConnectionInfo();
String ssid = (info).getSSID();
TextView ssid_name = findViewById(R.id.SSID_name);
ssid_name.setText(ssid);

这样

ConnectivityManager cm = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();

if (info != null && info.isConnected()) {
String ssid = info.getExtraInfo();
TextView ssid_name = findViewById(R.id.SSID_name);
ssid_name.setText(ssid);
}

但我仍然得到 <unknown ssid> .

在 list 中我获得了此权限

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

最佳答案

这就是问题所在。必须明确向用户请求权限

    ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
PERMISSIONS_ACCESS_FINE_LOCATION);
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
PERMISSIONS_ACCESS_COARSE_LOCATION);
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_WIFI_STATE},
PERMISSIONS_ACCESS_WIFI_STATE);
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.INTERNET},
PERMISSIONS_INTERNET);

关于java - 尝试从连接检索数据时获取<未知 ssid>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58529050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com