Premessa probabilmente sono incapace e me ne vergogno .... ma tant'è e quindi posto la mia domanda ....
Dunque ho un'applicazione così strutturata:
public class Main extends Activity {
........................
......
Wireless la_rete = new Wireless(this,this);
.....
.....
la_rete.scansione();
........
}
in un altro file .java
public class wireless {
.........
//Costruttore
public wireless(Context c, Activity activity) {
this.activity = activity;
mynet = (WifiManager)c.getSystemService(Context.WIFI_SERVI CE);
gestEventi FineScansione = new gestEventi(mynet, activity);
c.registerReceiver(FineScansione, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_AC TION));
} // Fine del costruttore
metodo 1
metodo 2
public void scansione() {
mynet.startScan();
} // Fine metodo scansione()
}// Fine Classe
in altro file .java
public class gestEventi extends BroadcastReceiver {
.....................
.....................
//Costruttore
public gestEventi(WifiManager rete, Activity activity) {
mywifi = rete;
this.activity = activity;
}// Fine Costruttore
public void onReceive(Context context, Intent intent) {
List <ScanResult> mywifiscan;
mywifiscan = mywifi.getScanResults();
// TEMPORANEAO PER TEST
for(int i = 0 ; i < mywifiscan . size(); i++){
TextView testo = (TextView) activity.findViewById(R.id.txt1);
testo.setText(testo.getText() + "\n" + mywifiscan.get(i).toString() );
} // FINE TEMPORANEO
}// Fine OnReceive()
}// Fine Classe
Bene fino a qui tutto funziona finita la scansione mi trovo la TextView compilata con l'elenco delle reti trovate (su tutti i terminali possibili ma non su Galaxy S3 ..... ma questa è un'altra storia )
Quello che a me serve sarebbe una cosa del genere:
in Main al posto di:
la_rete.scansione();
vorrei qualche cosa del tipo:
List <ScanResult> lista_reti = la_rete.scansione();
e qui l'esecuzione dell'Activity DEVE FERMARSI fino a che non ottengo il risultato che da gestEventi deve passare a Wireless e quindi a Main ........
Io non ho la più pallida idea di come fare molto probabilmente mi manca qualche base fondamentale ma io ho cercato su tutti i libri e su tutti i siti che ho trovato, ma non ho trovato la soluzione.
Se qualcuno avesse la gentilezza di postare una soluzione "for very very dummies" gli sarei eternamente grato .
Grazie a tutti per le eventuali risposte.