У меня есть код, который говорит мне о силе сигнала от Wi-Fi. Теперь я хотел, чтобы он обновлялся каждые 5 секунд и сообщал мне о новой силе сигнала.Сила сигнала не освежает каждые несколько секунд
Он дает набор силы сигнала 5 раз и каждый раз, когда он дает мне одинаковый уровень сигнала. Я не знаю, почему.
После установки на мое устройство Android оно дает мне силу сигнала, которая совпадает с сигналом силы сигнала, когда он был установлен первым. Поэтому, когда я запускаю приложение на устройстве Android, я получаю тот же ответ.
Код:
я получаю ответ в дБмВт.
public class MainActivity extends Activity {
protected static final long TIME_DELAY = 5000;
TextView mTextView;
Handler handler=new Handler();
int count =0; String data ="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.text_id);
handler.post(updateTextRunnable);
}
@Override
public void onResume() {
super.onResume();
// Register the scan receiver
registerReceiver(wifiReciever);
}
@Override
public void onPause() {
super.onPause();
// Register the scan receiver
unregisterReceiver(wifiReciever);
}
Runnable updateTextRunnable = new Runnable() {
public void run() {
if (count < 5) {
StringBuilder sb = new StringBuilder();
WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
class WifiScanReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
for (ScanResult result : wifiScanList) {
if (result.SSID.equals("Khosla ka Ghosla")) {
sb.append(""+result.level);
}
if (result.SSID.equals("panny")) {
sb.append(""+result.level);
}
if (result.SSID.equals("ferbora")) {
sb.append(""+result.level);
}
}
}
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
count++; mTextView.setText("getting called " +count + sb);
} else {
}
//----------------code here to send values to java server---
handler.postDelayed(this, TIME_DELAY);
}
};
}
Пожалуйста, помогите мне. Заранее спасибо.