How to Check Internet connection available or not in your android studio app

Checking  Internet connection in any app is the most common used when we are performing any network task android studio app




Step 1: create an xml design file that show on check internet connection

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layout_buttom_sheet"
    android:orientation="vertical"
    >

    <LinearLayout
        android:padding="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout

            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/connection_icon"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:layout_margin="5dp"
                android:src="@drawable/ic_not_internet_red_24dp">

            </ImageView>

            <TextView
                android:id="@+id/connection_type"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:padding="5dp"
                android:text="No Internet "
                android:textColor="#1F1E1E"
                android:textSize="20dp"
                android:textStyle="bold"></TextView>

            <TextView
                android:id="@+id/connection_discription"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:padding="5dp"
                android:text="Please check your internet connection and try again"></TextView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="10dp"
            android:orientation="horizontal">

            <Button
                android:id="@+id/connection_btn_cancle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:layout_marginEnd="20dp"
                android:layout_weight="1"
                android:background="@drawable/background_cancle_btn"
                android:drawableStart="@drawable/ic_close_black_24dp"
                android:padding="5dp"
                android:paddingStart="10dp"
                android:text="Cancle"
                android:textAllCaps="false"
                android:textColor="#239CFF"></Button>

            <Button
                android:id="@+id/connection_btn_settings"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:layout_weight="1"
                android:background="@drawable/background_delete_btn"
                android:drawableStart="@drawable/ic_settings_black_24dp"
                android:padding="5dp"
                android:paddingStart="10dp"
                android:text="Setting"
                android:textAllCaps="false"
                android:textColor="#ffffff"></Button>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

Step 2: add internet permission into manifest file

<uses-permission android:name="android.permission.INTERNET" />

Step 3: create variavle and initilize dialog varivale inside on create method

  Dialog dialog;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       
        setContentView(R.layout.activity_main);
        dialog = new Dialog(this);

        dialog.setContentView(R.layout.check_internet_connection);
}

Step 4: fun_check_oriantation_block_sc() is a on button click function so on click on button this method check and change orientation of your device

 public void fun_btn_Check_Internet(View view) {
        checkconnection();

    }

    private void checkconnection() {

        ConnectivityManager manager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activenetwork = manager.getActiveNetworkInfo();

        if (activenetwork != null) {
            if (activenetwork.getType() == ConnectivityManager.TYPE_WIFI) {
                String info = activenetwork.getSubtypeName();
                ImageView imageViewicon = dialog.findViewById(R.id.connection_icon);
                imageViewicon.setImageResource(R.drawable.ic_wifi_avialabe_24dp);
                TextView txttype = dialog.findViewById(R.id.connection_type);
                txttype.setText("Wifi available");
                TextView txtdis = dialog.findViewById(R.id.connection_discription);
                txtdis.setText(info);
                dialog.show();
                dialog.findViewById(R.id.connection_btn_settings).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(Settings.ACTION_SETTINGS);
                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(intent);
                    }
                });
                dialog.findViewById(R.id.connection_btn_cancle).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        onBackPressed();
                    }
                });


            } else if (activenetwork.getType() == ConnectivityManager.TYPE_MOBILE) {

                String info = activenetwork.getExtraInfo();
                ImageView imageViewicon = dialog.findViewById(R.id.connection_icon);
                imageViewicon.setImageResource(R.drawable.ic_mobile_data_red_24dp);
                TextView txttype = dialog.findViewById(R.id.connection_type);
                txttype.setText("Mobile Data available");
                TextView txtdis = dialog.findViewById(R.id.connection_discription);
                txtdis.setText(info);
                dialog.show();
                dialog.findViewById(R.id.connection_btn_settings).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(Settings.ACTION_SETTINGS);
                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(intent);
                    }
                });
                dialog.findViewById(R.id.connection_btn_cancle).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        onBackPressed();
                    }
                });

            }

        } else {
            dialog.show();
            dialog.findViewById(R.id.connection_btn_settings).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Settings.ACTION_SETTINGS);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(intent);
                }
            });
            dialog.findViewById(R.id.connection_btn_cancle).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    onBackPressed();
                }
            });
        }

    }

Thank You Keep Learning Keep Connected #AndroidShortCode

Comments