1

私はアンドロイドでwifi機能に取り組んでいます。そのため、wifi情報の現在の値(シガンレベル、頻度、レートなど)をtextViewsに表示したいと思います。一部のパラメーターは時間の経過とともに大きく変化する可能性があることがわかっています。私の問題は、現在の表示値を更新する方法です。私はそのコードを使用しています:

String service = Context.WIFI_SERVICE;  
final WifiManager wifi = (WifiManager)getSystemService(service);    
WifiInfo info = wifi.getConnectionInfo();
int strenght = WifiManager.calculateSignalLevel(info.getRssi(),5);
int speed = info.getLinkSpeed();
String units = WifiInfo.LINK_SPEED_UNITS;
String ssid2 = info.getSSID();

たとえば、ある瞬間t1でtextViewを取得strenght=48すると、別の瞬間tiでも同じ値が維持されますが、これは現在の値ではないことがわかります。

次に、最初のアクティビティA1で利用可能なwifi接続のリストを表示するときにどうすればよいか(これを実行しました)、2番目のアクティビティA2で信号レベルの現在の値を取得する方法も理解したいと思います。私がやろうとしたのは、中間オブジェクトを使用して、A1とA2の間で信号レベルの値を共有することです。しかし、ここでも、私は同じ値を持っており、更新はありません!Plz helllp

4

1 に答える 1

1

BroadcastReceiverを使用してWiFi接続の変更を検出することをお勧めします。これはあなたがやろうとしていることに似ています:

http://android-er.blogspot.com/2011/01/monitor-wifi-status-and-information.html

于 2012-06-02T01:50:37.997 に答える