728x90
반응형
질문 : Android에서 사용할 수있는 인터넷 연결이 있는지 감지
중복 가능성 :
Android에서 인터넷 액세스를 확인하는 방법은 무엇입니까? InetAddress는 시간 초과되지 않습니다.
Android 기기가 인터넷에 연결되어 있는지 감지해야합니다.
NetworkInfo
클래스는 완벽하게 들리는 비 정적 메서드 isAvailable()
을 제공합니다.
문제는 다음과 같습니다.
NetworkInfo ni = new NetworkInfo();
if (!ni.isAvailable()) {
// do something
}
이 오류가 발생합니다.
The constructor NetworkInfo is not visible.
NetworkInfo
객체를 반환하는 다른 클래스가 있다는 것입니다. 그러나 나는 무엇을 모른다.
답변
ConnectivityManager
의 getActiveNetworkInfo()
메서드는 찾을 수있는 첫 번째 연결된 네트워크 인터페이스를 나타내는 NetworkInfo
인스턴스를 반환하거나 인터페이스가 연결되지 않은 경우 null
이 메서드가 null
을 반환하는지 확인하는 것으로 인터넷 연결을 사용할 수 있는지 여부를 알 수 있습니다.
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
또한 다음이 필요합니다.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
당신의 안드로이드 매니페스트에서.
편집하다:
활성 네트워크 인터페이스가 있다고해서 특정 네트워크 서비스를 사용할 수 있다는 보장은 없습니다. 네트워크 문제, 서버 다운 타임, 낮은 신호, 종속 포털, 콘텐츠 필터 등으로 인해 앱이 서버에 도달하지 못할 수 있습니다. 예를 들어 트위터 서비스에서 유효한 응답을받을 때까지 앱이 트위터에 도달 할 수 있는지 여부를 확인할 수 없습니다.
출처 : https://stackoverflow.com/questions/4238921/detect-whether-there-is-an-internet-connection-available-on-android
728x90
반응형
'프로그래밍 언어 > Android' 카테고리의 다른 글
Android에서 활동 시작시 EditText가 포커스를 얻지 못하도록 하는 방법 (0) | 2021.10.27 |
---|---|
Android에서 'Context'를 얻는 방법 (0) | 2021.10.26 |
Android Studio가 기기를 인식하지 못할 때 (0) | 2021.10.26 |
android : layout_weight가 의미하는 것 (0) | 2021.10.26 |
Android Studio : jar를 라이브러리로 추가 하는 방법 (0) | 2021.10.25 |