Sdílet prostřednictvím


Odznáček

Rozhraní Badge API umožňuje vývojářům nastavit na domovské obrazovce číslo odznáček ikony aplikace.

Screenshot of an Badge on Windows


K používání Badge rozhraní API jsou vyžadovány následující předpoklady:

Další konfigurace potřebná pro podporu zařízení s Androidem Viz část Android níže.

Syntaxe

C#

Rozhraní Badge API je možné použít v jazyce C#:

void SetCount(uint value)
{
    Badge.Default.SetCount(value);
}

Metody

metoda Popis
SetCount Nastavte počet odznáček.

Registrace závislostí

Pokud chcete využít předdefinované vrstvy injektáže závislostí v rozhraní .NET MAUI, budete muset nejprve zaregistrovat implementaci Badge ve svém MauiProgramrozhraní . Aktualizujte MauiProgram.cs následujícími změnami:

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseMauiCommunityToolkit();

        builder.Services.AddSingleton<IBadge>(Badge.Default);
        return builder.Build();
    }
}

Teď můžete službu vložit takto:

public partial class MainPage : ContentPage
{
    private readonly IBadge badge;

    public MainPage(IBadge badge)
    {
        InitializeComponent();
        this.badge = badge;
    }

    public void SetCount(uint value)
    {
        badge.SetCount(value);
    }
}

Příklady

Příklad Badge rozhraní API v akci najdete v ukázkové aplikaci .NET MAUI Community Toolkit.

rozhraní API

Zdrojový kód pro Badge rozhraní API najdete v úložišti .NET MAUI Community Toolkit na GitHubu.

Android

Upozorňující

Vzhledem k různorodé krajině výrobců zařízení s Androidem a spouštěčů mějte na paměti, že existují nepředvídatelné variace, jak se na různých zařízeních zobrazují nebo nezobrazují počty odznáček aplikace.

Ve světě Androidu se jedna velikost zřídka hodí pro všechny. Tento princip platí, pokud jde o nastavení počtu odznáček aplikace, protože pro tuto funkci chybí standardizované rozhraní API poskytované systémem Android.

Různé spouštěče Androidu se rozhodly implementovat počty odznáček svým jedinečným způsobem. Většina spouštěčů, včetně oblíbených, jako je Nova Launcher, Microsoft Launcher atd., má své specifické metody pro zpracování této funkce.

V důsledku toho, aby se oznámení odznáčku vaší aplikace v těchto různorodých spouštěčích zobrazovala správně, musíte se uchylovat k programování konkrétních implementací kódu pro jednotlivé spouštěče. To znamená, že kód přizpůsobíte konkrétním požadavkům jedinečného mechanismu indikujícího počet odznáček každého spouštěče.

Zvažte to jako překážku, kterou musí vývojáři překonat v cestě k dosažení univerzálního prostředí aplikací. Důvodem je flexibilní ekosystém Androidu, který podporuje rozmanitost a přizpůsobení.

Je důležité si uvědomit, že i když je možné pokrýt nejoblíbenější spouštěče Androidu, bude téměř nemožné vyhovět každému jedinému, vzhledem k tomu, že je na trhu k dispozici holý počet spouštěčů.

S komunitouToolkit vám poskytneme způsob implementace vlastní logiky čítače odznáček pro poskytovatele, které chcete podporovat. Můžete to udělat takto:

  1. Implementujte rozhraní CommunityToolkit.Maui.ApplicationModel.IBadgeProvider. Podívejte se SamsungBadgeProvider na implementaci jako příklad: SamsungBadgeProvider.
  2. V konstruktoru Android MainApplication nastavte identifikátor spouštěče na vaši IBadgeProvider implementaci". Například spouštěč Samsungu by vypadal takto:
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
    : base(handle, ownership)
{
    var samsungProvider = new SamsungBadgeProvider();

    BadgeFactory.SetBadgeProvider("com.sec.android.app.launcher", samsungProvider);
    BadgeFactory.SetBadgeProvider("com.sec.android.app.twlauncher", samsungProvider);
}
  1. Přidejte požadovaná oprávnění do souboru AndroidManifest.xaml. Například spouštěč Samsungu by vypadal takto:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

Tyto změny stačí, aby vaše aplikace běžela na zařízení Samsung se systémem Android a správně aktualizovala číslo odznáček ikon aplikací. Poskytuje také výchozí bod a průvodce, jak můžete začít implementovat podporu pro ostatní spouštěče ve vaší aplikaci.

Náš kód proto má za cíl poskytnout ideální implementaci, mohou existovat instance, ve kterých se Android nebude chovat podle očekávání.

Důrazně doporučujeme důkladně otestovat vaši aplikaci na řadě zařízení a spouštěčů, abyste mohli nejpřesněji posoudit, jak se oznámení odznáček aplikace chovají ve vašem konkrétním případě použití.