저는 Android projet에서 작업 중이며 사용자가 인터넷에 언제 접속할 수 있는지 알아야합니다. 그것은 사용에 있기 때문에 내 응용 프로그램 아래ping없이 Android로 핫스팟 wifi 연결 확인
public static boolean isOnline(final Context context) {
boolean result = false;
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connec.getNetworkInfo(0).isConnectedOrConnecting() || connec.getNetworkInfo(1).isConnectedOrConnecting()) {
URL url = new URL("https://www.google.fr");
URLConnection urlConnection;
urlConnection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) urlConnection;
int responseCode = httpConnection.getResponseCode();
result = (responseCode == 200);
}
return result;
}
이 방법을 작동하지만 속도가 느려집니다 : (. 와이파이가 활성화뿐만 아니라 경우 사용자가 핫스팟 와이파이 연결을 사용하는 경우, 예를 들어)
을 나는이 방법을 사용 5 초마다 사용자의 연결을 확인하는 타이머 그리고 나는 사용자의 연결 상태를 실시간으로 알아야합니다 ...
다른 사람이 인터넷 연결을 확인하는 방법을 알고 있습니까? 아마 자바 리플렉션과 함께 ...?
아마도이 질문에서 뭔가를 찾을 수 있습니다. http://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-timeouts –
이 빠른 답변 주셔서 감사합니다. ! :-) 나는 그것을 볼 것이다. – Dish
왜 지구상에 * 5 초마다 네트워크 가용성을 확인해야합니까? 배터리를 아주 빨리 소모 할 것입니다. 데이터를 * 전송해야하는 경우 먼저 별도의 온라인 확인을 사용하지 않고 데이터를 전송하십시오. 데이터 전송 요청 자체는 오프라인 상태 일 때 알려줍니다. – Barend