1

私はwifimanager.getScanResults()ですべてのwifiネットワークをスキャンすることができました。次のステップでは、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が最適な信号レベルです)。これを使用して、さまざまなWi-Fi信号レベルをグラフィカルに表現するにはどうすればよいですか。このためのUIが見つかりません。5つの可能なレベルごとにグラフィックが必要ですか、それとも別の方法がありますか?内部のAndroid設定(Wifiスキャン結果)はどのように機能していますか?

4

2 に答える 2

2

私はより良いオプションを見つけたと思います...

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

ここで、強度は0から4の範囲の変数です。

詳細については、http://androiddrawableexplorer.appspot.com/を参照して ください。

于 2013-03-19T12:25:03.220 に答える
1

組み込みのRatingBarコンポーネントを使用できます。RatingBarStyleSmallまたはratingBarStyleIndicatorスタイルを指定することで、読み取り専用にすることができます。

于 2013-03-18T11:45:17.187 に答える