Cada plataforma é diferente
PCL - Interface
using System;
namespace Funcoes
{
public interface IRede
{
bool InternetDisponivel ();
}
}
Como usar
bool internetDisponivel = DependencyService.Get<IRede> ().InternetDisponivel ();
if (!internetDisponivel) {
await DisplayAlert ("Erro de Internet", "Nã tenho acesso internet", "Ok");
}
else
{
await DisplayAlert ("Rede", "Rede disponíel", "Ok");
}
Plataforma Android
Não esqueça da permissão: AccessNetworkState
using System;
using Funcoes;
using Xamarin.Forms;
using Vendas.Droid;
using Android.Net;
using Android.Content;
// injeçã de dependencia
[assembly: Dependency (typeof(Rede))]
namespace Vendas.Droid
{
public class Rede: IRede
{
public bool InternetDisponivel ()
{
ConnectivityManager cm = (ConnectivityManager) Forms.Context.GetSystemService(Context.ConnectivityService);
NetworkInfo netInfo = cm.ActiveNetworkInfo;
return netInfo != null && netInfo.IsConnectedOrConnecting;
}
public Rede ()
{
}
}
}
|