|
|
@@ -21,6 +21,16 @@ import kr.co.zumo.app.lifeplus.application.App;
|
|
|
*/
|
|
|
public class NetworkStatus {
|
|
|
|
|
|
+ public static final String TYPE_WIFI = "WIFI";
|
|
|
+ public static final String TYPE_WIMAX = "WIMAX";
|
|
|
+ public static final String TYPE_MOBILE = "MOBILE";
|
|
|
+
|
|
|
+ NetworkInfo networkInfo;
|
|
|
+
|
|
|
+ public NetworkStatus() {
|
|
|
+ networkInfo = getNetworkInfo();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* wifi, mobile 등 네트워크에 연결 되었는지 확인
|
|
|
*
|
|
|
@@ -30,7 +40,7 @@ public class NetworkStatus {
|
|
|
boolean isConnected;
|
|
|
|
|
|
try {
|
|
|
- isConnected = getNetworkInfo().isConnected();
|
|
|
+ isConnected = (null != networkInfo && networkInfo.isConnected());
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
isConnected = false;
|
|
|
@@ -48,7 +58,9 @@ public class NetworkStatus {
|
|
|
int type = -1;
|
|
|
|
|
|
try {
|
|
|
- type = getNetworkInfo().getType();
|
|
|
+ if (null != networkInfo) {
|
|
|
+ type = networkInfo.getType();
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
@@ -66,13 +78,13 @@ public class NetworkStatus {
|
|
|
String type = null;
|
|
|
switch (connectedType) {
|
|
|
case ConnectivityManager.TYPE_WIFI:
|
|
|
- type = "WIFI";
|
|
|
+ type = TYPE_WIFI;
|
|
|
break;
|
|
|
case ConnectivityManager.TYPE_WIMAX:
|
|
|
- type = "WIMAX";
|
|
|
+ type = TYPE_WIMAX;
|
|
|
break;
|
|
|
case ConnectivityManager.TYPE_MOBILE:
|
|
|
- type = "MOBILE";
|
|
|
+ type = TYPE_MOBILE;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
@@ -80,8 +92,20 @@ public class NetworkStatus {
|
|
|
return type;
|
|
|
}
|
|
|
|
|
|
- private NetworkInfo getNetworkInfo() throws RuntimeException {
|
|
|
- ConnectivityManager manager = (ConnectivityManager) App.getInstance().getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
- return manager.getActiveNetworkInfo();
|
|
|
+ private NetworkInfo getNetworkInfo() {
|
|
|
+
|
|
|
+ ConnectivityManager manager = null;
|
|
|
+ NetworkInfo networkInfo = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ manager = (ConnectivityManager) App.getInstance().getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
+ } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != manager) {
|
|
|
+ networkInfo = manager.getActiveNetworkInfo();
|
|
|
+ }
|
|
|
+ return networkInfo;
|
|
|
}
|
|
|
}
|