@Override
protected void onCreate(Bundle savedInstanceState) {
....
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
// Builder 선언
NetworkRequest.Builder wifiBuilder = new NetworkRequest.Builder();
// 콜백이 호출되는 조건
// TRANSPORT_WIFI = WIFI 상태 / TRANSPORT_CELLULAR = Mobile 네트워크 상태
wifiBuilder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
// 해당 콜백 등록
connectivityManager.registerNetworkCallback(wifiBuilder.build(), wifiCallback);
}
// Inner Class
private ConnectivityManager.NetworkCallback wifiCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
super.onAvailable(network);
Log.e("onAvailable", "WI-FI 연결됨");
}
@Override
public void onLost(Network network) {
super.onLost(network);
Log.e("onAvailable", "WI-FI 연결 끊김");
}
};
@Override
protected void onDestroy() {
// 콜백 해제
connectivityManager.unregisterNetworkCallback(wifiCallback);
}
'Before 2022 > Android' 카테고리의 다른 글
| 안드로이드 공유하기(기본 시스템) (0) | 2019.07.11 |
|---|---|
| Floating Action Button 활용하기 (0) | 2019.07.11 |
| 도넛형 View 만들기 (0) | 2019.07.11 |
| startActivityForResult - 호출한 Activity에서 결과 값 받기 (0) | 2019.07.11 |
| EditText 비밀번호 보이기/숨기기 (0) | 2019.07.11 |