可视化wifi信号强度

时间:2013-03-18 11:32:49

标签: android android-layout android-wifi

我能够使用wifimanager.getScanResults()扫描所有的wifi网络。 在下一步中,我提取了无线网络的SSID和信号电平。

private List<String> showOnlySSIDAndLevel(List<ScanResult> networks) {
    List<String> networkList = new ArrayList<String>();
    for(ScanResult result : networks){
        int level = WifiManager.calculateSignalLevel(result.level, 5) + 1;
        String content = result.SSID + " \tSignal strength: " + level;
        networkList.add(content);
    }
    return networkList;
}

我有一个格式的信号电平,它在1到5之间(5是最佳信号电平) 如何使用它来显示不同的wifi信号电平的图形表示。 我找不到这个用户界面。我是否需要5个可能级别的图形或者是否有其他方式?内部Android设置(Wifi扫描结果)如何做到这一点?

2 个答案:

答案 0 :(得分:2)

我认为找到了更好的选择...

imageView.setIcon(android.R.drawable.stat_sys_wifi_signal_<strength>)

其中strength是0到4范围内的变量......

有关详细信息,请参阅 http://androiddrawableexplorer.appspot.com/

答案 1 :(得分:1)

您可以使用内置的RatingBar组件。您可以通过为其设置ratingBarStyleSmallratingBarStyleIndicator样式将其设为只读。