Android中判断网络状态及其种类

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/**
 * a tool used for judge the network's status
 * @author liyangchao
 *
 */ 
public class NetWorkTools{ 
   
    public static booleanisWifi(Context paramContext) { 
   
        return "2".equals(getNetType(paramContext)[0]); 
   
    
   
    public static booleanisMobile(Context paramContext) { 
   
        return "1".equals(getNetType(paramContext)[0]); 
   
    
   
    public static booleanisNetAvailable(Context paramContext) { 
   
        if ("1".equals(getNetType(paramContext)[0]) 
   
        || "2".equals(getNetType(paramContext)[0])) { 
   
            return true
   
        
   
        return false
   
    
   
    // public static booleanisNetworkAvailable(Context context) { 
   
    // ConnectivityManager mgr = 
    // (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
   
    // NetworkInfo[] info =mgr.getAllNetworkInfo(); 
   
    // if (info != null) { 
   
    // for (int i = 0; i < info.length; i++) { 
   
    // if (info[i].getState() ==NetworkInfo.State.CONNECTED) { 
   
    // return true; 
   
    // } 
   
    // } 
   
    // } 
   
     // return false; 
   
    // } 
   
    public static String[] getNetType(Context paramContext) { 
   
        String[] arrayOfString = { "Unknown", "Unknown" }; 
   
        PackageManager localPackageManager = paramContext.getPackageManager(); 
   
        if (localPackageManager.checkPermission( 
   
        "android.permission.ACCESS_NETWORK_STATE"
   
        paramContext.getPackageName()) != 0) { 
   
            arrayOfString[0] = "Unknown"
   
            return arrayOfString; 
   
        
   
        ConnectivityManager localConnectivityManager = (ConnectivityManager) paramContext 
   
        .getSystemService("connectivity"); 
   
        if (localConnectivityManager == null) { 
   
            arrayOfString[0] = "Unknown"
   
            return arrayOfString; 
   
        
   
        NetworkInfo localNetworkInfo1 = localConnectivityManager 
   
        .getNetworkInfo(1); 
   
        if (localNetworkInfo1 != null 
   
        && localNetworkInfo1.getState() == NetworkInfo.State.CONNECTED) { 
   
            arrayOfString[0] = "2"
   
            return arrayOfString; 
   
        
   
        NetworkInfo localNetworkInfo2 = localConnectivityManager 
   
        .getNetworkInfo(0); 
   
        if (localNetworkInfo2 != null 
   
        && localNetworkInfo2.getState() == NetworkInfo.State.CONNECTED) { 
   
            arrayOfString[0] = "1"
   
            arrayOfString[1] = localNetworkInfo2.getSubtypeName(); 
   
            return arrayOfString; 
   
        
   
        return arrayOfString; 
   
    
   
}