手机网络判断及进入设置

掌握网络是否连接以及网络类型的判断,掌握无网络情况下,跳转设置网络设置界面
(切记注册权限)
<uses-permission android :name= "android.permission.INTERNET" /> 1.自定义广播类
2.完成注册
//注册广播
MyRecever recever = new MyRecever();
IntentFilter filter = new IntentFilter();
filter.addAction("com.bawei.net");
registerReceiver(recever, filter);

private class MyRecever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("com.bawei.net")){
String net = intent.getStringExtra("net");
Toast.makeText(MainActivity.this, "接收广播成功:"+net, Toast.LENGTH_SHORT).show();
}
}
}
3.编写网络判断的工具类
(1).判断手机网络是否连接
//判断网络是否连接
public static boolean isNetWorkAvailable(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null) {
return true;
} return false;
}
(2).判断是否是wifi
//判断是否是wifi
public static boolean isWifi(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.getType() == connectivityManager.TYPE_WIFI) {
return true;
}
return false;
}
(3).判断是否是手机流量
//判断是否是手机流量
public static boolean isMobile(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.getType() == connectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}
4.使用网络判断的工具类,判断当前用户手机的网络情况
(1).
//使用自己编写的工具类,判断网络是否连接
boolean available = NetWorkUtils.isNetWorkAvailable(this);
if (available) {
Toast.makeText(MainActivity.this, "网络连接成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "网络连接失败", Toast.LENGTH_SHORT).show(); }
(2).
//使用自己编写的工具类,判断是否是wifi
boolean wifi = NetWorkUtils.isWifi(this);
if (wifi) {
Toast.makeText(MainActivity.this, "wifi网络连接成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "wifi网络连接失败", Toast.LENGTH_SHORT).show(); }
(3).

//使用自己编写的工具类,判断是否是手机流量
boolean mobile = NetWorkUtils.isMobile(this);
//有网做对应的操作
if (mobile) {
Toast.makeText(MainActivity.this, "手机流量网络连接成功", Toast.LENGTH_SHORT).show(); } else {
Toast.makeText(MainActivity.this, "手机流量网络连接失败", Toast.LENGTH_SHORT).show();
}
}
5.无网络时,跳转网络设置界面
//无网络时,跳转网络设置界面
Intent intent = new Intent("com.bawei.net");
intent.putExtra("net", "亲,断网了,应该去设置网络了");
sendBroadcast(intent);
Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");
startActivity(wifiSettingsIntent);
下面是自己编写的类:
一:网络判断工具类:
  1. /** 
  2.  *  网络判断的工具类 
  3.  */  
  4. public class NetWorkUtils {  
  5.   
  6.   
  7.     //判断网络是否连接  
  8.     public static boolean isNetWorkAvailable(Context context) {  
  9.         //网络连接管理器  
  10.         ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  11.         //网络信息  
  12.         NetworkInfo info = connectivityManager.getActiveNetworkInfo();  
  13.         if (info != null) {  
  14.             return true;  
  15.         }  
  16.   
  17.         return false;  
  18.     }  
  19.   
  20.     //判断是否是wifi  
  21.     public static boolean isWifi(Context context) {  
  22.         //网络连接管理器  
  23.         ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  24.         //网络信息  
  25.         NetworkInfo info = connectivityManager.getActiveNetworkInfo();  
  26.         if (info != null && info.getType() == connectivityManager.TYPE_WIFI) {  
  27.             return true;  
  28.         }  
  29.         return false;  
  30.     }  
  31.   
  32.   
  33.     //判断是否是手机流量  
  34.     public static boolean isMobile(Context context) {  
  35.         //网络连接管理器  
  36.         ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  37.         //网络信息  
  38.         NetworkInfo info = connectivityManager.getActiveNetworkInfo();  
  39.         if (info != null && info.getType() == connectivityManager.TYPE_MOBILE) {  
  40.             return true;  
  41.         }  
  42.         return false;  
  43.     }  
  44.   
  45.   
  46. }  
  1. 二:ManActivity  
  1. <pre name="code" class="java">/** 
  2.  *  掌握网络是否连接以及网络类型的判断,掌握无网络情况下,跳转设置网络设置界面 
  3.  *  1.自定义广播类 
  4.  *  2.完成注册 
  5.  *  3.编写网络判断的工具类 
  6.  *  4.使用网络判断的工具类,判断当前用户手机的网络情况 
  7.  *  5.无网络时,跳转网络设置界面 
  8.  */  
  9. public class MainActivity extends AppCompatActivity {  
  10.   
  11.     @Override  
  12.     protected void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.activity_main);  
  15.         //注册广播  
  16.         MyRecever recever = new MyRecever();  
  17.         IntentFilter filter = new IntentFilter();  
  18.         filter.addAction("com.bawei.net");  
  19.         registerReceiver(recever, filter);  
  20.   
  21.         //使用自己编写的工具类,判断网络是否连接  
  22.         boolean available = NetWorkUtils.isNetWorkAvailable(this);  
  23.         if (available) {  
  24.             Toast.makeText(MainActivity.this"网络连接成功", Toast.LENGTH_SHORT).show();  
  25.         } else {  
  26.             Toast.makeText(MainActivity.this"网络连接失败", Toast.LENGTH_SHORT).show();  
  27.   
  28.         }  
  29.   
  30.         //使用自己编写的工具类,判断是否是wifi  
  31.         boolean wifi = NetWorkUtils.isWifi(this);  
  32.         if (wifi) {  
  33.             Toast.makeText(MainActivity.this"wifi网络连接成功", Toast.LENGTH_SHORT).show();  
  34.         } else {  
  35.             Toast.makeText(MainActivity.this"wifi网络连接失败", Toast.LENGTH_SHORT).show();  
  36.   
  37.         }  
  38.   
  39.         //使用自己编写的工具类,判断是否是手机流量  
  40.         boolean mobile = NetWorkUtils.isMobile(this);  
  41.         //有网做对应的操作  
  42.         if (mobile) {  
  43.             Toast.makeText(MainActivity.this"手机流量网络连接成功", Toast.LENGTH_SHORT).show();  
  44.   
  45.         } else {  
  46.             Toast.makeText(MainActivity.this"手机流量网络连接失败", Toast.LENGTH_SHORT).show();  
  47.             //无网络时,跳转网络设置界面  
  48.             Intent intent = new Intent("com.bawei.net");  
  49.             intent.putExtra("net""亲,断网了,应该去设置网络了");  
  50.             sendBroadcast(intent);  
  51.             Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");  
  52.             startActivity(wifiSettingsIntent);  
  53.         }  
  54.     }  
  55.   
  56.   
  57.     private class MyRecever extends BroadcastReceiver {  
  58.         @Override  
  59.         public void onReceive(Context context, Intent intent) {  
  60.             String action = intent.getAction();  
  61.             if(action.equals("com.bawei.net")){  
  62.                 String net = intent.getStringExtra("net");  
  63.                 Toast.makeText(MainActivity.this"接收广播成功:"+net, Toast.LENGTH_SHORT).show();  
  64.             }  
  65.         }  
  66.     }  
  67. }  
  68. </pre><br>  
  69. <br>  
  70. <pre></pre>  
  71. <br> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值