Connectivity 取得與監聽

Android 透過 ConnectivityManager 確認網路狀態訊息

  • 宣告 ConnectivityManager,並讀取出 ActiveNetworkInfo

ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
  • 透過 activeNetwork.getType() 判斷網路類型

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

iOS 透過 Reachability 確認並監聽網路狀態訊息

  • 透過 iOS 官方 sample 提供的程式碼,將 Reachability 中 Reachability.hReachability.m 加入到自己的專案中

https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html

  • 透過 currentReachabilityStatus 判斷網路狀態

// Router 可連性
Reachability* reach = [Reachability reachabilityForInternetConnection];

if ([reach currentReachabilityStatus] != NotReachable) {
    // Is Connect
}
  • 監聽網路變化

透過 Firebase Realtime Database 監聽網路變化

Last updated