Teste Internet Ativa

Top  Previous  Next

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 ()
         {
         }
 }
}