기기에 wifi 또는 3g 연결이 있는지 검색하려고합니다. 연결이있는 경우 MapView
이 표시되지만 둘 중 하나도 연결되어 있지 않으면 내 조건문에 문제가 있습니다. 여기장치에 데이터 연결이 있는지 여부를 확인하는 방법?
내가 네트워크 연결을 확인하는 방법은 다음과 같습니다 여기
private boolean haveNetworkConnection() {
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;
}
내가 메소드를 호출하는 코드입니다. 인터넷에 액세스 할 수있는 경우
MapView
이 표시되지만 인터넷에 액세스 할 수없는 경우에는 표시되지 않습니다.
if (haveNetworkConnection()) {
if (loc != null && !loc.equals("")) {
new GeocoderTask().execute(loc);
} else {
Toast.makeText(this, "Internet Connection is Required to view this map", Toast.LENGTH_LONG).show();
}
}