一、首先,创建一个类继承BroadcastReceiver,重写onReceive 方法
(一)断网弹出的dialog提示弹窗
在onReceive方法中添加操作代码
创建一个IntentReceiver弹窗dialog
public class IntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo !=null && networkInfo.isAvailable()){
Toast.makeText(context,"网络连接成功",Toast.LENGTH_SHORT).show();
}else {
Dialog(context);
}
}
private void Dialog(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.mipmap.control_9);
builder.setTitle("检测到你的网络已断开");
builder.setMessage("请您正确设置网络连接");
builder.setCancelable(false);
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
context.startActivity(new Intent("android.net.wifi.PICK_WIFI_NETWORK"));
}
});
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
}
二、在MainActivity中添加注册广播操作
public class MainActivity extends AppCompatActivity {
private BroadcastReceiver receivers = new IntentReceiver();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
this.registerReceiver(receivers,filter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receivers);
}
}
三、还要记得在AndroidManifest.xml清单文件中添加权限呦
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><!-- 读取网络状态 -->
<uses-permission android:name="android.permission.INTERNET"/><!-- 网络权限 -->
借鉴转摘自https://blog.csdn.net/Literary_/article/details/79640620
写的简洁明了,只是作者提供了图片,我只是为那些懒人创造一种便利,其实我自己也挺懒的,喜欢的来个三连谢谢呦!