我正在尝试编写一个显示附近AP列表并自动连接到其中的测试功能。但是,当我尝试在运行时请求所需的权限时,它会被自动拒绝。
我所做的事情:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-feature android:name="android.hardware.wifi"/>
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CHANGE_WIFI_STATE), REQ_WIFI_STATE)
有人可以帮助我了解为什么自动拒绝此权限的原因吗?我在这里做错什么了。
为防止任何人理解我要实现的目标,以下是获得许可后将被调用的功能的完整代码,即 SUPPOSED ,以及我覆盖的{{ 1}}函数:
connectToAP():
onRequestPermissionsResult
onRequestPermissionsResult():
{
val networkSSID = "SSID_To_Connect_To"
Log.d("DEBUG#", "Looking for $networkSSID")
val wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
wifiManager.configuredNetworks.forEach { network ->
network?.SSID.let { SSID ->
Log.d("DEBUG#", "Checking $SSID...")
if (SSID == ("\"" + networkSSID + "\"")) {
Log.d("DEBUG#", "Found AP!")
wifiManager.disconnect()
wifiManager.enableNetwork(network.networkId, true)
wifiManager.reconnect()
return@forEach
}
}
}
}