ライブでアクセスポイントの電波強度を取得するプログラムを作りたいです。
現在androidでAPの電波強度を取得するアプリを開発しておりますが、実行したときの電波強度のみしか取得できません。起動中常に電波強度を取得するにはどうしたらよいのでしょうか?
よろしくお願いします。
public class WifiManager02 extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WifiManager manager = (WifiManager)getSystemService(WIFI_SERVICE);
if(manager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
// APをスキャン
manager.startScan();
// スキャン結果を取得
List<ScanResult> apList = manager.getScanResults();
String[] aps = new String[apList.size()];
for(int i=0; i<apList.size(); i++) {
aps[i] = "SSID:" + apList.get(i).SSID + "\n"
+ apList.get(i).frequency + "MHz " + apList.get(i).level + "dBm";
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, aps);
setListAdapter(adapter);
}
}
@Override
public boolean onCreateOptionsMenu(android.view.Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_wifi_manager02, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(android.view.MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}