/**
* 得到网络状态的工具类
* Created by lzh on 2017/10/16.
*/
public class NetStateUtil {
/*
* 判断网络连接是否已开
* true 已打开 false 未打开
* */
public static boolean isConn(Context context){
boolean bisConnFlag=false;
ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = conManager.getActiveNetworkInfo();
if(network!=null){
bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();
}
return bisConnFlag;
}
/**
* 当判断当前手机没有网络时选择是否打开网络设置
* @param context
*/
public static void showNoNetWorkDlg(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.mipmap.ic_launcher) //
.setTitle(R.string.app_name) //
.setMessage("当前无网络").setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 跳转到系统的网络设置界面
Intent intent = null;
// 先判断当前系统版本
if(android.os.Build.VERSION.SDK_INT > 10){ // 3.0以上
intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
}else{
intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
}
context.startActivity(intent);
}
}).setNegativeButton("知道了", null).show();
}
}
加权限: android:name=”android.permission.ACCESS_NETWORK_STATE”
public class MainActivity extends AppCompatActivity {
private ConnectivityManager connectivityManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initNetState();
}
private void initNetState() {
//获取网络状态管理器
connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
//得到当前活跃的网络
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo.State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if (NetworkInfo.State.CONNECTED == state){
Toast.makeText(this,"当前使用的是WiFi网络",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"当前使用的是移动网络",Toast.LENGTH_SHORT).show();
}
//得到移动网络状态
NetworkInfo.State stateMOBILE = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
if (NetworkInfo.State.CONNECTED == stateMOBILE){
new AlertDialog.Builder(this)
.setTitle("设置")
.setIcon(R.mipmap.ic_launcher)
.setMessage("当前处于移动网络状态,请在WiFi下使用")
.setPositiveButton("土豪访问",new AlertDialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//编写网络请求代码
}
})
.setNegativeButton("停止访问",null)
.setNeutralButton("中立按钮",null)
.show();
}
else{
Toast.makeText(this,"无网络,请检查",Toast.LENGTH_SHORT).show();
}
}
}