@Override public WifiScanResult getConnectedWifi() throws ScannerException { try { WifiInfo wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo == null || TextUtils.isEmpty(wifiInfo.getBSSID()) || wifiInfo.getSupplicantState() != SupplicantState.COMPLETED || isWifiSsidBlacklisted(wifiInfo.getSSID())) { return null; } WifiScanResult wifiScanResult = new WifiScanResult(); wifiScanResult.bssid = wifiInfo.getBSSID(); wifiScanResult.ssid = wifiInfo.getSSID(); wifiScanResult.rssi = wifiInfo.getRssi(); wifiScanResult.timestampMs = SystemClock.elapsedRealtime(); if (Build.VERSION.SDK_INT >= ScannerFactory.OS_VERSION_LOLLIPOP) { wifiScanResult.frequency = wifiInfo.getFrequency(); } return wifiScanResult; } catch (Exception e) { throw new ScannerException(ScannerException.Type.UNKNOWN_ERROR, e); } }
@Test public void shouldReturnRssi() { WifiInfo wifiInfo = wifiManager.getConnectionInfo(); shadowOf(wifiInfo).setRssi(10); wifiInfo = wifiManager.getConnectionInfo(); assertThat(wifiInfo.getRssi()).isEqualTo(10); }
/** * 返回当前连接信号强度 */ public int getLevel() { WifiInfo info = mWifiManager.getConnectionInfo(); if (info == null) { return 0; } else { return info.getRssi(); } }
@Override public int getStrength() { try { int rssi = wifiManager.getConnectionInfo().getRssi(); int level = WifiManager.calculateSignalLevel(rssi, 10); int percentage = (int) ((level / 10.0) * 100); Log.d("aaa", "WiFI RSSI=" + String.valueOf(percentage)); return percentage; } catch (Exception e) { return 0; } } @Override
private boolean isOnGoodWIFIConnection(@NonNull NetworkInfo netInfo) { return (netInfo.getType() == TYPE_WIFI) && (WifiManager.calculateSignalLevel(wifiManager.getConnectionInfo().getRssi(), 4) > 0); }
@Override public void onReceive(WifiIconData icon, Intent intent) { NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); if (networkInfo == null) networkInfo = icon.connectivityManager.getActiveNetworkInfo(); if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) icon.onIconUpdate(WifiManager.calculateSignalLevel(icon.wifiManager.getConnectionInfo().getRssi(), 5)); else icon.onIconUpdate(-1); } }
@Override public void onReceive(Context context, Intent intent) { WifiManager wifiManager = (WifiManager) context .getSystemService(context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo.getBSSID() != null) { // wifi信号强度 int signalLevel = WifiManager.calculateSignalLevel( wifiInfo.getRssi(), 4); if (signalLevel == 0) { imgNetWorkState.setImageDrawable(context.getResources() .getDrawable(R.mipmap.wifi_1)); } else if (signalLevel == 1) { imgNetWorkState.setImageDrawable(context.getResources() .getDrawable(R.mipmap.wifi_2)); } else if (signalLevel == 2) { imgNetWorkState.setImageDrawable(context.getResources() .getDrawable(R.mipmap.wifi_3)); } else if (signalLevel == 3) { imgNetWorkState.setImageDrawable(context.getResources() .getDrawable(R.mipmap.networkstate_on)); } if (d) Toast.makeText(context, "wifi level" + signalLevel, Toast.LENGTH_SHORT).show(); } } };
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifiManager.getConnectionInfo(); String ssid = info.getSSID(); int rssi = info.getRssi();
public static void getConnectedWifiInfo(WifiManager wifiManager){ if(wifiManager==null)return; WifiInfo wifiConnection = wifiManager.getConnectionInfo(); if (wifiConnection != null) {//获取当前链接的wifi信息,没什么用 String wifiMAC = wifiConnection.getBSSID(); int i = wifiConnection.getRssi(); String s1 = wifiConnection.getSSID(); String mac = wifiConnection.getMacAddress();//注意这里的mac是手机的mac而不是热点的mac Log.i("AlexLocation","手机的mac地址是"+mac); } }
public static int getWifiStrength(){ int strength = 0; WifiManager wifiManager = (WifiManager) CommonValues.application.getSystemService(Context.WIFI_SERVICE); // 取得WifiManager对象 WifiInfo info = wifiManager.getConnectionInfo(); if (info != null) { strength = WifiManager.calculateSignalLevel(info.getRssi(), 5); } return strength; }
@Override public void register() { super.register(); int level = WifiManager.calculateSignalLevel(wifiManager.getConnectionInfo().getRssi(), 5); if (level > 0) onIconUpdate(level); //temporary fix, cannot determine if wifi is enabled without BroadcastReceiver for some reason }
if (info.getType() == ConnectivityManager.TYPE_WIFI) { if (mWifiManager.getConnectionInfo() != null) { int rssi = mWifiManager.getConnectionInfo().getRssi(); int level = WifiManager.calculateSignalLevel(rssi, 4); switch (level) {
if (info.getType() == ConnectivityManager.TYPE_WIFI) { if (mWifiManager.getConnectionInfo() != null) { int rssi = mWifiManager.getConnectionInfo().getRssi(); int level = WifiManager.calculateSignalLevel(rssi, 4); switch (level) {
if (info.getType() == ConnectivityManager.TYPE_WIFI) { if (mWifiManager.getConnectionInfo() != null) { int rssi = mWifiManager.getConnectionInfo().getRssi(); int level = WifiManager.calculateSignalLevel(rssi, 4); switch (level) {
/** * Get WiFi signal strength. */ private ConnectivityStrength getWifiStrength() { WifiManager wifiManager = (WifiManager) configuration.getContext().getApplicationContext().getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo != null) { int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), ConnectionBuddyConfiguration.SIGNAL_STRENGTH_NUMBER_OF_LEVELS); switch (level) { case 0: return new ConnectivityStrength(ConnectivityStrength.POOR); case 1: return new ConnectivityStrength(ConnectivityStrength.GOOD); case 2: return new ConnectivityStrength(ConnectivityStrength.EXCELLENT); default: return new ConnectivityStrength(ConnectivityStrength.UNDEFINED); } } else { return new ConnectivityStrength(ConnectivityStrength.UNDEFINED); } }
t1.append("RSSI :"+info.getRssi()+"\n");
this.mConnectivityStatus.mWifiSignalStrength = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 5); } else { this.mConnectivityStatus.mWifiSignalStrength = 0;
this.mConnectivityStatus.mWifiSignalStrength = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 5); } else { this.mConnectivityStatus.mWifiSignalStrength = 0;
@SuppressLint("HardwareIds") @Override public void writeJson(JsonWriter out) throws Exception { WifiManager manager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); WifiInfo info = manager.getConnectionInfo(); out.beginObject(); if (info == null) { out.name("API_ERROR").value("No current connection"); } else { out.name("bssid").value(info.getBSSID()); out.name("frequency_mhz").value(info.getFrequency()); //noinspection deprecation - formatIpAddress is deprecated, but we only have a ipv4 address here: out.name("ip").value(Formatter.formatIpAddress(info.getIpAddress())); out.name("link_speed_mbps").value(info.getLinkSpeed()); out.name("mac_address").value(info.getMacAddress()); out.name("network_id").value(info.getNetworkId()); out.name("rssi").value(info.getRssi()); out.name("ssid").value(info.getSSID().replaceAll("\"", "")); out.name("ssid_hidden").value(info.getHiddenSSID()); out.name("supplicant_state").value(info.getSupplicantState().toString()); } out.endObject(); } });