次のコードを使用して警告ダイアログを表示し、インターネットを表示していません。
シナリオ 1: インターネットがオフになっている アラート ボックスにインターネットがないことを示すアクティビティを開きます。
シナリオ 2 (ここで問題があります): インターネットの存在下でアクティビティを開いてから、モバイル データをオフにすると、アラートが表示されません。
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
//if there is no internet connection the dialog box created app will not work further
if (networkInfo == null || !networkInfo.isConnected() || !networkInfo.isAvailable()) {
Dialog networkdialog = new Dialog(this);
networkdialog.setContentView(R.layout.networkalert);
networkdialog.setCancelable(false);
networkdialog.getWindow().setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
networkdialog.getWindow().getAttributes().windowAnimations = android.R.style.Animation_Dialog;
Button retrybtn = networkdialog.findViewById(R.id.retrybtn);
retrybtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//after click on retry the activity rerun
recreate();
}
});
networkdialog.show();
}
アクティビティの作成メソッドで上記のコードを使用しています。