判读手机网络

Posted mr-deng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判读手机网络相关的知识,希望对你有一定的参考价值。

判断手机有没有网络这里写一个类有网络返回一个true,没网返回一个false:

 1 public static int getConnectedType(Context context){
 2         if(context != null){
 3             ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
 4             NetworkInfo info = manager.getActiveNetworkInfo();
 5             if(info != null && info.isAvailable()){
 6                 return info.getType();
 7             }
 8         }
 9         return  -1;
10     }

判断手机是通过数据联网还是通过WIFI联网,以下类会返回三个值分别为(-1:没网络,0:手机数据网络,1:WIFI网络):

1 public static boolean isConnectInternet(Context context){
2         ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
3         NetworkInfo info = manager.getActiveNetworkInfo();
4         if(info != null){
5             return info.isAvailable();
6         }
7         return false;
8     }

加上以下权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

这里我写了一个类,方便调用:

 1 public class Connections {
 2 
 3     /*
 4     * 判断网络类型
 5     * 值为1 -- WIFI
 6     * 值为0 -- 手机数据网络
 7     * 值为-1 - 断开网络(不包含以上两者)
 8     */
 9     public static int getConnectedType(Context context){
10         if(context != null){
11             ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
12             NetworkInfo info = manager.getActiveNetworkInfo();
13             if(info != null && info.isAvailable()){
14                 return info.getType();
15             }
16         }
17         return  -1;
18     }
19 
20     /*
21     * 判断网络状态
22     * 有网 - true
23     * 没网 - false
24     */
25     public static boolean isConnectInternet(Context context){
26         ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
27         NetworkInfo info = manager.getActiveNetworkInfo();
28         if(info != null){
29             return info.isAvailable();
30         }
31         return false;
32     }
33 
34 }

 

以上是关于判读手机网络的主要内容,如果未能解决你的问题,请参考以下文章

在Android开发中如何判读当前设备是否连接网络

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

HashSet添加操作底层判读(Object类型)

获取手机存储空间大小