1
私は、WiFiネットワークの種類とステータスを表示するアプリケーションを作成しています。 「範囲外の」WiFiネットワークをすべて見つけるにはどうすればよいですか?範囲外の設定済みの(以前に見た)すべてのWiFiネットワークのリストを取得できますか?範囲外のすべてのWiFiネットワークを見つける方法は?
私は結果に
WifiManager mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
List<ScanResult> results = mWifiManager.getScanResults();
if (configs != null) {
for (WifiConfiguration config : configs) {
for (ScanResult result : results) {
if (result.SSID == null || result.SSID.length() == 0) {
continue;
}
else {
if (result.SSID.equals(MyString.removeDoubleQuotes(config.SSID))) {
int level = mWifiManager.CalculateSignalLevel(result.level, 4);
Log.d("MyApp", Config.SSID + " " + level);
}
}
}
}
}
を取得するために以下のコードを使用しかし、設定されたネットワークの数が高い場合、それは実行に時間がかかります。この問題を最適化する方法はありますか?設定されたネットワークのみのスキャン結果を取得します。
はい、それはアイデアだと思いますが、ネットワークがwifiManagerの範囲内にあることを見つけるための正確なAPIはわかりません。それらを見つける方法についていくつかの洞察を提供できますか? – Ron
@Ronあなたは既にそれを使用しています、それはスキャンの結果です。 – EJP
遅れて申し訳ありませんが、私はどのように上記のものを最適化することができます。設定されたネットワークの数が多い場合は、結果を得るのに時間がかかります。 – Ron