Internet Status – Xamarin.Forms

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…”.

1

 

Digite “Xam.Plugin.Connectivity” e selecione o plugin como demonstrado na imagem a seguir.

2

 

Selecione todos os projetos e clique no botão “Install”.

2

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&quot;
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml&quot;
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>

view raw

MainPage.xaml

hosted with ❤ by GitHub

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

ezgif.com-gif-maker (3)

 

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

5 comentários em “Internet Status – Xamarin.Forms

  1. 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?

    Curtir

    1. 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.

      Curtir

Deixe um comentário