[안드로이드] 인터넷 연결상태 확인하는 방법
개발 하는 프로젝트중 인터넷이 연결 되었을땐 서버DB에서 값을 가져오고
연결이 되지 않았을땐 안드로이드의 sqlite에서 값을 가져와야 하는 기능이 있었다
그래서 찾아서 만들었다.
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 | public class MainActivity extends AppCompatActivity { private WebView mWebView; private String myUrl = "file:///android_asset"; public static final String WIFE_STATE = "WIFE"; public static final String MOBILE_STATE = "MOBILE"; public static final String NONE_STATE = "NONE"; private boolean newtwork = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 앱 실행시 체크 String getNetwork = getWhatKindOfNetwork(getApplication()); if(getNetwork.equals("NONE")){ newtwork = false; } } // 인터넷 public static String getWhatKindOfNetwork(Context context){ ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null) { if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) { return WIFE_STATE; } else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) { return MOBILE_STATE; } } return NONE_STATE; } } | cs |
일반적인 메인액티비티에 담았다
원래는 저기에 웹뷰셋팅이나 sqlite관련된 소스들도 있는데 보기 힘드니까 다 지움
중요한건 인터넷이 연결된 상태인지만 체크 하는 것
4~7번은 그냥 편의를 위해 전역변수로 지정해놨는데 사용하지 않아도 된다.
25번의 메소드에서 단순하게 true false만 반환해줘도 되는데
저렇게 쓰면 현재 연결된게 와이파이 인지 모바일네트워크인지 구분이 가능하기 때문에 넣은 것.
'Yame Programmer > Android' 카테고리의 다른 글
[안드로이드] 웹뷰 자바스크립트와 안드로이드 자바 연동 방법 (4) | 2017.08.03 |
---|---|
[안드로이드] androidBridge they will not be visible in API 17 오류 해결 방법 (0) | 2017.08.03 |
[안드로이드] 간단하게 웹뷰 구현 예제 (12) | 2017.08.03 |
[안드로이드] FCM 화면 깨우기 화면 켜지게 하는 방법 (11) | 2017.07.12 |
[안드로이드] FCM 백그라운드에서 진동 오도록 하는 방법 (9) | 2017.07.12 |