次のようなコードがあります。
public class NetworkHelper {
private static NetworkInfo mNetworkInfo;
public NetworkHelper(Context context) {
mNetworkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
}
private boolean isConnectedWifi(){
return (mNetworkInfo != null && mNetworkInfo.isConnected() && mNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI);
}
}
問題は、デバイスの接続タイプが変更された場合 (たとえば、WiFi ネットワークからモバイルに切り替えた場合)、静的参照 mNetworkInfo は引き続き機能するかどうかです。「有効な」値を取得するには、getActiveNetworkInfo() を再度実行する必要がありますか?