Android 10 (API29) 通过 ConnectivityManager 连接缓存密码并失败

Nik*_*vic 5 passwords android android-connectivitymanager

我已经通过 IoT 设备提供的 WiFi 接入点实现了与该设备的连接。我正在使用 ConnectivityManager 的 requestNetwork 方法,并为 WifiNetworkSpecicier 提供 SSID 模式和密码。

问题是 API 29 似乎正在对密码进行某种缓存。首次尝试连接到网络(重新启动后)可以正常工作。每个后续请求都会导致 API 尝试使用之前输入的密码进行连接(忽略传递给它的密码),即使输入错误也是如此。此行为将持续到下次手机重新启动为止。

我已经在 Pixel 3XL、Pixel 2 和 Samsung Note 10+ 上重现了这一点,所以我担心我是否以某种方式滥用了 API。当然,这三款手机均运行 Android 10。