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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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