やりたい事
Xamarin.Formsでネットワークに接続可能か判定する(もちろんクロスプラットフォームで)
※2017/01/31 現在Androidは動作しませんでした(情報提供お願いします...)
ライブラリを導入する
NuGetを利用して Connectivity Plugin for Xamarin and Windows
を追加する.
コード
CheckNetworkConnectionPage.cs
using System;
using System.Collections.Generic;
using Plugin.Connectivity;
using Xamarin.Forms;
namespace XamarinSamples
{
public partial class CheckNetworkConnectionPage : ContentPage
{
public CheckNetworkConnectionPage()
{
InitializeComponent();
CrossConnectivity.Current.ConnectivityTypeChanged += Current_ConnectivityTypeChanged;
}
private async void Current_ConnectivityTypeChanged(object sender, Plugin.Connectivity.Abstractions.ConnectivityTypeChangedEventArgs e)
{
if (!e.IsConnected)
{
await DisplayAlert("Error", "Check for your connection.", "OK");
}
else {
await DisplayAlert("Success", "Network is Available.", "OK");
}
}
protected async override void OnAppearing()
{
base.OnAppearing();
if (!CrossConnectivity.Current.IsConnected)
{
System.Diagnostics.Debug.WriteLine("connected");
await DisplayAlert("Error", "Check for your connection", "OK");
}
else {
await DisplayAlert("Success", "Network is Available.", "OK");
}
}
}
}
動作確認
iOS
Android
しょぼん