用到的权限:
android.permission.ACCESS_NETWORK_STATE
一、按钮布局
//按钮
<button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="测试"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="51dp"
tools:layout_editor_absoluteY="222dp" />
二、Java代码
//第一步 网络权限
//第二步 找控件
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
boolean isNet = HttpUtil.isNetworkConnected(MainActivity.this);
if (isNet){
Toast.makeText(MainActivity.this,"有网",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this,"没网",Toast.LENGTH_LONG).show();
}
}
});
三、工具类
//注意工具类中使用静态方法
public static boolean isNetworkConnected(Context context){
//判断上下文是不是空的
//为啥要判断啊? 防止context是空的导致 报空指针异常
if (context!=null){
//获取连接管理器
ConnectivityManager mConnectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网络状态mConnectivityManager.getActiveNetworkInfo();
NetworkInfo mNnetNetworkInfo=mConnectivityManager.getActiveNetworkInfo();
if (mNnetNetworkInfo!=null){
//判断网络是否可用//如果可以用就是 true 不可用就是false
return mNnetNetworkInfo.isAvailable();
}
}
return false;
}
权限不要忘记加