基本的に、SimpleAdapter を介して ListView に RSSI の値を一覧表示できます。
public class ActivityListarRedes extends MainActivity {
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar_redes);
List<Map<String, String>> l = listaRedes();
String[] from = { "ExampleId", "ExampleName" };
int[] to = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter ad = new SimpleAdapter(this, l, simple_list_item_2, from, to);
ListView lv = (ListView) findViewById(R.id.list);
lv.setAdapter(ad);
}
public List<Map<String, String>> listaRedes() {
networks = new ArrayList<ScanResult>();
wifi.startScan();
networks = wifi.getScanResults();
List<Map<String, String>> l = new ArrayList<Map<String, String>>();
for (ScanResult net : networks) {
Map<String, String> m = new HashMap<String, String>();
m.put("ExampleId", "Rede: " + net.SSID);
m.put("ExampleName", "RSSI: " + net.level + "dBm");
l.add(m);
}
return l;
}
ここで、リストであるメソッド「listaRedes」によって与えられた RSSI の値を更新できるかどうかを知りたいと思います。一時停止するか、ボタンをクリックして一時停止するまで、しばらくの間「listaRedes」メソッドを呼び出すことができるかもしれません。
それは可能でしょうか?
ありがとう