Xamarin.Essentials: Připojení
Třída Připojení umožňuje monitorovat změny v síťových podmínkách zařízení, kontrolovat aktuální přístup k síti a způsob, jakým je aktuálně připojeno.
Začínáme
Pokud chcete začít používat toto rozhraní API, přečtěte si příručku Začínáme pro a ujistěte se, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.
Pro přístup k funkcím připojení se vyžaduje následující nastavení specifické pro platformu.
Oprávnění AccessNetworkState je povinné a musí být nakonfigurované v projektu pro Android. Můžete ho přidat následujícími způsoby:
Otevřete soubor AssemblyInfo.cs ve složce Properties a přidejte:
[assembly: UsesPermission(Android.Manifest.Permission.AccessNetworkState)]
NEBO aktualizujte manifest Androidu:
Otevřete soubor AndroidManifest.xml ve složce Vlastnosti a do uzlu manifestu přidejte následující kód.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Nebo klikněte pravým tlačítkem na projekt pro Android a otevřete jeho vlastnosti. V části Manifest pro Android vyhledejte oblast Požadovaná oprávnění: a zaškrtněte oprávnění Stav přístupové sítě. Tím se automaticky aktualizuje AndroidManifest.xml souboru.
Použití připojení
Do třídy Xamarin.Essentials přidejte odkaz na :
using Xamarin.Essentials;
Zkontrolujte aktuální přístup k síti:
var current = Connectivity.NetworkAccess;
if (current == NetworkAccess.Internet)
{
// Connection to internet is available
}
Přístup k síti spadá do následujících kategorií:
- Internet – místní a internetový přístup.
- ConstrainedInternet – omezený přístup k internetu. Označuje připojení ke konkrétnímu portálu, kde je poskytn místní přístup k webovému portálu, ale přístup k internetu vyžaduje, aby se prostřednictvím portálu poskytovaly konkrétní přihlašovací údaje.
- Místní – jenom přístup k místní síti.
- Žádné – Není k dispozici žádné připojení.
- Neznámé – Nepodařilo se určit připojení k internetu.
Můžete zkontrolovat, jaký typ profilu připojení zařízení aktivně používá:
var profiles = Connectivity.ConnectionProfiles;
if (profiles.Contains(ConnectionProfile.WiFi))
{
// Active Wi-Fi connection.
}
Kdykoli se profil připojení nebo přístup k síti změní, můžete při aktivaci přijmout událost:
public class ConnectivityTest
{
public ConnectivityTest()
{
// Register for connectivity changes, be sure to unsubscribe when finished
Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;
}
void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
{
var access = e.NetworkAccess;
var profiles = e.ConnectionProfiles;
}
}
Omezení
Je důležité si uvědomit, že je možné, že je hlášený službou , ale úplný přístup k webu InternetNetworkAccess není k dispozici. Vzhledem k tomu, jak připojení funguje na jednotlivých platformách, může jenom zaručit, že bude připojení k dispozici. Zařízení může být například připojené k Wi-Fi síti, ale směrovač je odpojený od internetu. V tomto případě se může hlásit internet, ale aktivní připojení není k dispozici.
rozhraní API
- Xamarin.Essentials /Connectivity" data-linktype="external">connectivity source code
- Dokumentace k rozhraní API pro připojení
Související video
Další videa o Xamarinu najdete na Channel 9 a YouTube.