Android App ping di un dipositivo di rete

Android App ping di un dipositivo di rete

Da un’app Android abbiamo vari modi per capire se abbiamo connessione con un dispositivo di rete.

In questo articolo vedremo come ottenere questa informazione effettuando un ping.

Utilizzeremo il metodo statico  systemCommand della classe RunSystemCommands.

int res= RunSystemCommands.systemCommand("/system/bin/ping -c 1 "+ipServer2Mos)

A questo metodo passeremo il comando da eseguire: "/system/bin/ping -c 1 "+ipServer2Mos

Nel nostro caso si tratta di un comando ping che manda un solo pacchetto all’indirizzo contenuto nella stringa ipServer2Mos che contiene l’indirizzo IP da pingare.

Il risultato viene messo nella variabile res.

Di seguito possiamo controllare che res sia pari a 0. if (res==0){ //ping andato a buon fine};

Se lo è, il ping è andato a buon fine.

Nell’esempio illustrato il ping viene effettuato alla pressione del bottone statusB2.

Se il ping va a buon fine il background del bottone viene colorato in verde statusB2.setBackgroundColor(Color.GREEN);

altrimenti viene colorato in rossoin rosso.

Di seguito l’esempio completo.

statusB2.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View view) {
                                        res= RunSystemCommands.systemCommand("/system/bin/ping -c 1 "+ipServer2Mos);
                                        if (res==0){
                                            //ping andato a buon fine
                                            statusB2.setBackgroundColor(Color.GREEN);
                                        }else{
                                            //ping non andato a buon fine
                                            statusB2.setBackgroundColor(Color.RED);
                                        }
                                }
                            }
);

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.