この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Xamarin製アプリでネットワーク状態を確認するとき、下記のライブラリにお世話になっています。
- https://github.com/jamesmontemagno/ConnectivityPlugin
このネットワーク状態確認の機能をXamarin.Essentialsに移行してみました。
Xamarin.EssentialsのConnectivityに移行する
既存プロジェクトにXamarin.Essentialsを導入(更新)する
Xamarin.Essentialsを導入します。
コードを修正する
変更前のコード
Xam.Plugin.Connectivityを使用しているコード例です。
using Plugin.Connectivity;
namespace Sample.Models
{
public class Sample
{
public Sample()
{
if (CrossConnectivity.Current.IsConnected)
{
// ネットワーク接続: OK
}
else
{
// ネットワーク接続: NG
}
}
}
}
変更後のコード
Xamarin.Essentialsを使用するように変更したコードです。NetworkAccess.Internet
以外の値や他のメソッド等については、ドキュメントを参照してください。
using Plugin.Connectivity;
namespace Sample.Models
{
public class Sample
{
public Sample()
{
if (Connectivity.NetworkAccess == NetworkAccess.Internet)
{
// ネットワーク接続: OK
}
else
{
// ネットワーク接続: NG
}
}
}
}
なお、上記はインターネットにアクセスしているかを判定していますが、保証はされていません(Wi-Fi接続されているが、ルーターから先がインターネット接続されていない場合など)。
ConnectivityPluginを削除
最後に今まで使っていたConnectivityPluginを削除します。ありがとうございました!