Hallo zusammen,
meine App ist nur mit Internet Zugang zu benutzen. Das heißt die App soll eigentlich ständig testen, ob man mit dem Internet verbunden ist.
Ich habe schon eine Methode die erfolgreich testet, ob eine Verbindung besteht.
Wenn die Verbindung nicht besteht, soll er so lange einen ProgressDialog anzeigen, bis die Verbindung besteht.
Es geht mir hier nicht um den ProgressDialog, sondern eher darum, wie die Methode aussehen muss, damit dauerhaft die Connection getestet wird.
Ich hab das Ganze mal mit einem Thread versucht, allerdings weiß ich nicht ob das die beste Möglichkeit ist und außerdem funktioniert es auch nicht
Hier mal der Code:
public void ConnectionTest(){
if (isInternetOn() == false){
thread= new Thread(){
@Override
public void run(){
try {
synchronized(this){
wait(8000);
ConnectionTest();
if (isInternetOn() == true){
System.out.println("läuft Thread Ende");
liveAccess();
}
}
}
catch(InterruptedException ex){
}
}
};}
}
public final boolean isInternetOn()
{
ConnectivityManager connec = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
// ARE WE CONNECTED TO THE NET
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED )
{
//System.out.println("läuft");
return true;
}
else if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED
|| connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED )
{
//System.out.println("läuft nicht");
return false;
}
return false;
}
Alles anzeigen
In der onCreate() der main-Activity wird ConnectionTest() aufgerufen.
Jemand eine Idee warum das nicht funktioniert, oder wie man das anders lösen kann?
Bin für jede Hilfe dankbar!
Gruß
M3doXX