Ich habe ein Alarmdialogfeld, das eine Nachricht an Benutzer anzeigt, wenn auf dem Telefon keine Internetverbindung gefunden wurde. Wie überprüfe ich und versuche es erneut, wenn eine Internetverbindung besteht und wenn immer noch keine Verbindung besteht, wird das Dialogfeld erneut angezeigt?Alert Dialog Wie überprüfe ich, ob es eine Internetverbindung gibt
public class Splash extends Activity {
private ProgressBar mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.splash);
if (Internet()) {
splash();
} else {
showAlertDialog(Splash.this, "No Internet Access",
"No Internet Connection detected", false);
}
}
public void splash() {
mProgress = (ProgressBar) findViewById(R.id.progress);
mProgress.getProgressDrawable().setColorFilter(
Color.BLUE, android.graphics.PorterDuff.Mode.SRC_IN);
Thread timerTread = new Thread() {
public void run() {
try {
prog();
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Intent intent = new Intent(getApplicationContext(), Games.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
}
};
timerTread.start();
}
private void prog() {
for (int progress = 0; progress <= 100; progress += 20) {
try {
Thread.sleep(1000);
mProgress.setProgress(progress);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public boolean Internet() {
ConnectivityManager connectivityManager = (ConnectivityManager) getBaseContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
public void showAlertDialog(Context context, String title, String message, Boolean status) {
final AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Retry ", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Exit ", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
System.exit(0);
}
});
alertDialog.show();
}
}
Warum Sie nicht über einen Rundfunkempfänger für die kontinuierliche Kontrolle für die Verbindung verwenden, statt Tasten zu machen? – W4R10CK