Display an alert when internet connection not available in android application

后端 未结 13 729
有刺的猬
有刺的猬 2020-12-08 11:48

In my application data comes from internet and I am trying to create a function that checks if a internet connection is available or not and if it isn\'t, it gives an alert

13条回答
  •  一向
    一向 (楼主)
    2020-12-08 12:19

    Just Try this I am using for my professional app

    import androidx.appcompat.app.AlertDialog;
    
    import android.content.DialogInterface;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    
    public class MainActivity extends AppCompatActivity {    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            if (isOnline()) {
                 // Do you Stuff
            } else {
                try {
                    new AlertDialog.Builder(MainActivity.this)
                            .setTitle("Error")
                            .setMessage("Internet not available, Cross check your internet connectivity and try again later...")
                            .setCancelable(false)
                            .setIcon(android.R.drawable.ic_dialog_alert)
                            .setNeutralButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
    
                        }
                    }).show();
                } catch (Exception e) {
                    Log.d(Constants.TAG, "Show Dialog: " + e.getMessage());
                }
            }
        }
    
        public boolean isOnline() {
            ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext()
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
    
            if(netInfo == null || !netInfo.isConnected() || !netInfo.isAvailable()){
                return false;
            }
            return true;
        }
    }
    

提交回复
热议问题