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

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

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

XamarinForms ネットワークに接続されているかどうかの確認方法
今回は、XamarinFormsでネットワークに接続されているかどうかの確認する方法についてです。Xamarin.Essentialsを使う非常に簡単に実装できます。プロジェクトにXamarin.Essentialsが入っ...

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

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をコピーしました