想实现的功能是在子线程里实时更新扫描wifi的信号强度,用的wifiManager的getscanresult函数,但是获取的值一直不变。有人研究过吗?求助大神、、、
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.tv);
lv=(ListView) findViewById(R.id.lv);
wifi=(WifiManager) getSystemService(WIFI_SERVICE);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
try {
results=(ArrayList<ScanResult>) wifi.getScanResults();
handler.sendEmptyMessage(0);
wifi.startScan();
Thread.sleep(3000);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
------解决方案--------------------
你这个只是获取了一次的值啊,当然是一直不变的,你需要不停的获取值来改变状态才可以的