Olá, neste post irei demonstrar como a sua aplicação Xamarin.Forms pode verificar se o dispositivo possui conexão com a internet.
ADICIONANDO O NUGET PACKAGE
Clique com o botão direito em cima de sua Solution e selecione “Manage NuGet Packages for Solution…”.
Digite “Xam.Plugin.Connectivity” e selecione o plugin como demonstrado na imagem a seguir.
Selecione todos os projetos e clique no botão “Install”.
XAML
No arquivo xaml crie uma label para apresentar o status (Conectado / Desconectado) e um botão que servirá para verificar a conexão. Observe que a propriedade Clicked chama o método VerifyInternet.
<?xml version="1.0" encoding="utf-8" ?> | |
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" | |
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" | |
xmlns:local="clr-namespace:DemoCheckInternet" | |
x:Class="DemoCheckInternet.MainPage"> | |
<StackLayout VerticalOptions="Center" | |
HorizontalOptions="Center"> | |
<Label x:Name="Status" | |
FontSize="20"/> | |
<Button Text="Verify" Clicked="VerifyInternet"/> | |
</StackLayout> | |
</ContentPage> |
CODE-BEHIND
No método VerifyInternet utilize o CrossConnectivity.Current.IsConnected para saber se está conectado.
using System; | |
using Plugin.Connectivity; | |
using Xamarin.Forms; | |
namespace DemoCheckInternet | |
{ | |
public partial class MainPage : ContentPage | |
{ | |
public MainPage() | |
{ | |
InitializeComponent(); | |
} | |
public void VerifyInternet(object sender, EventArgs e) | |
{ | |
Status.Text = CrossConnectivity.Current.IsConnected ? "Connected" : "Disconnected"; | |
} | |
} | |
} |
Resultado
Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.
Bom dia! Como faço pra isso ficar automático? As vezes o usuário está lendo uma informação antes de fazer uma nova consulta e a internet cai, gostaria de dar uma mensagem pra ele avisando que a internet caiu antes que ele tente fazer uma nova pesquisa, pode me ajudar?
CurtirCurtir
Olá Eduardo,
Você teria que rodar uma Task de tempo em tempo para verificar a conexão. Porem, eu não sei se seria uma boa ideia, pensando em performance do App.
Já pensou toda vez antes de realizar uma ação que necessite de internet você realizar a verificação ? Pode ser que fique melhor pensando em questões de performance.
Espero ter ajudado. Abraço.
CurtirCurtir
Excelente tutorial, a duvida que ficou é com relação a Wi-fi e 3G/4G ele verifica todas as conexões ?
CurtirCurtido por 1 pessoa
Olá Renato, sim… ele apenas verifica se está conectado, independente da rede.
CurtirCurtir
Poxa, valeew, muito bom e simples.
CurtirCurtir