//create Check interNet connetion class to check internt is available or not
public class CheckConnectionNetwork {
public static boolean isInternetAvailable(Context context)
{
ConnectivityManager connectivityManager=(ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager!=null)
{
NetworkInfo[] networkInfo=connectivityManager.getAllNetworkInfo();
if(networkInfo!=null)
{
for(int i=0;i<networkInfo.length;i++)
{
if(networkInfo[i].getState()==NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
}
create broadcast receiver to show pop
public class NetworkBroadcast extends BroadcastReceiver {
private AlertDialog dialog;
@Override
public void onReceive(Context context, Intent intent) {
if(!CheckConnectionNetwork.isInternetAvailable(context))
{
AlertDialog.Builder builder=new AlertDialog.Builder(context);
View view= LayoutInflater.from(context).inflate(R.layout.network_dialog,null);
builder.setView(view);
TextView retry=view.findViewById(R.id.retry);
dialog=builder.create();
dialog.getWindow().setGravity(Gravity.CENTER);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
dialog.setCancelable(false);
retry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
onReceive(context,intent);
}
});
}
else if(CheckConnectionNetwork.isInternetAvailable(context))
{
if(dialog!=null)
{
dialog.dismiss();
}
}
}
}Register ur broadcst in MainActivity also u can register anywhere accor to yue need
private NetworkBroadcast mBroadcast=new NetworkBroadcast();@Override
protected void onStart() {
IntentFilter filter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mBroadcast,filter);
super.onStart();
}
@Override
protected void onStop() {
unregisterReceiver(mBroadcast);
super.onStop();
}
No comments:
Post a Comment