Wifi の MAC アドレス、BSSID、LINK_speed を取得しようとしています。Wifi がオフになっている場合でも、3 つすべてに値が表示されることに気付きました。電話の電源を切ってからもう一度入れますが、wifiはオンにしません。3 つの項目の問い合わせ時にアプリがクラッシュし、エラーを試行またはキャッチできません。Wi-Fi をオンにしてからオフにすると、アイテムに問い合わせることができ、アプリは正常に動作します。BSSID と LINKSPEED は、実際には 'LAST'BSSID と 'LAST'LINKSPEED です。電源を入れた後に MAC アドレスが見えないのに、Wi-Fi をオンにしないのは通常の動作ですか? また、エラーをトラップしてアプリを強制的に閉じないようにする方法はありますか?
WifiManager wifi;
wifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifi.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
ipAddress = wifiInfo.getIpAddress();
//above work no matter whether wifi on or off before
String BSSID=wifiInfo.getBSSID(); //<<<<< ERRORS FORCE CLOSE IF NOT EVER CONNECTED
int WifiLinkSpeed=wifiInfo.getLinkSpeed(); printi("link speed",WifiLinkSpeed);
String MacAddress=wifiInfo.getMacAddress(); Log.e("MAC address",MacAddress);
//All three of these FORCE close if WIFI has never been turn on