我正尝试在其更改时定义WiFi连接状态。但是我还需要更多-获取WiFi网络的BSSID。
我没有使用BroadcastReceiver方法,而是每秒钟轮询WifiInfo#getBssid()。大多数情况下,它可以正常工作,但是当我的电话连接到WiFi时,我的手机进入相对较长的睡眠时间(>〜小时)后,WifiInfo#getBssid()返回null。
public String getBssid() {
WifiManager wifiMgr = (WifiManager);
getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
String bssid = wifiInfo.getBSSID();
}
我通过JNI从Qt代码调用此函数。
答案 0 :(得分:0)
问题不是在Android中,而是在Qt中。我将QNetworkConfigurationManager用作NetworkMonitor类的成员,并在检查bssid之前检查了let user = ["...": ..., "userGender": gender]
。因此,在设备睡眠唤醒后,直到我在每次唤醒中实现QNetworkConfigurationManager实例的重新创建之后,bearerType都会返回错误的值。