Xamarin.Forms データ回線がモバイル回線かwifiかの判定

今回はXamarin.Formsでデータ回線の種別の判定処理についてです。

まずはこちらの記事に書いてあるようにXamarin.Essentialでネットワークの状態を取得できるようにしておいてください。

https://xamaui.net/check-conect-network/

では実際の判定処理についてです。

var profiles = Connectivity.ConnectionProfiles;
if (profiles.Contains(ConnectionProfile.WiFi)) {
  // Wi-Fi
} else if (profiles.Contains(ConnectionProfile.Cellular)) {
  // モバイル回線
}

以上です!

wifiからモバイル回線へ切り替わったなどの取得は
ネットワークアクセスが変更された際、以下のようにしてイベントを受け取ることが可能です。

public Test() {
    Connectivity.ConnectivityChanged += OnConnectivityChanged;
}

void OnConnectivityChanged(object sender, ConnectivityChangedEventArgs e) {
    var access = e.NetworkAccess;
    var profiles = e.ConnectionProfiles;
}

でチェックすることが可能です。

Xamarin.Essential便利ですね。

タイトルとURLをコピーしました