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();
}
});
}
}
Comments
Post a Comment