Odznaka
Interfejs Badge
API umożliwia deweloperom ustawianie numeru znaczka ikony aplikacji na ekranie głównym.
Do korzystania z interfejsu Badge
API wymagane są następujące warunki wstępne:
Dodatkowa konfiguracja wymagana do obsługi urządzeń z systemem Android. Zobacz sekcję systemu Android poniżej.
Składnia
C#
Interfejs Badge
API można używać w następujący sposób w języku C#:
void SetCount(uint value)
{
Badge.Default.SetCount(value);
}
Metody
Metoda | opis |
---|---|
SetCount | Ustaw liczbę znaczek. |
Rejestracja zależności
Jeśli chcesz użyć wbudowanej warstwy wstrzykiwania zależności w programie .NET MAUI, musisz najpierw zarejestrować implementację Badge
wewnątrz obiektu MauiProgram
.
Zaktualizuj MauiProgram.cs
przy użyciu następnych zmian:
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();
}
}
Teraz możesz wstrzyknąć usługę w następujący sposób:
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);
}
}
Przykłady
Przykład interfejsu Badge
API można znaleźć w akcji w przykładowej aplikacji zestawu narzędzi .NET MAUI Community Toolkit.
interfejs API
Kod źródłowy interfejsu Badge
API można znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
Android
Ostrzeżenie
Ze względu na zróżnicowany krajobraz producentów i uruchamiania urządzeń z systemem Android należy pamiętać, że mogą istnieć nieprzewidywalne różnice w sposobie wyświetlania liczby znaczków aplikacji lub nie są wyświetlane na różnych urządzeniach.
W świecie android, jeden rozmiar rzadko pasuje do wszystkich. Ta zasada ma zastosowanie w przypadku ustawiania liczby znaczków aplikacji ze względu na brak ustandaryzowanego interfejsu API udostępnianego przez system Android dla tej funkcji.
Różne moduły uruchamiane systemu Android zdecydowały się zaimplementować liczby znaczków w unikatowy sposób. Większość uruchamiania, w tym popularne programy, takie jak Nova Launcher, Microsoft Launcher itp., mają określone metody obsługi tej funkcji.
W związku z tym, aby upewnić się, że powiadomienia znaczka aplikacji są prawidłowo wyświetlane w tych zróżnicowanych modułach uruchamiania, należy uciekać się do programowania określonych implementacji kodu dla każdego modułu uruchamiającego. Oznacza to dostosowanie kodu do określonych wymagań mechanizmu wskazującego liczbę znaczek każdego modułu uruchamiania.
Rozważ to jako przeszkodę, którą deweloperzy muszą przezwyciężyć, na drodze do osiągnięcia uniwersalnego środowiska aplikacji. Wynika to z elastycznego ekosystemu systemu Android, który zachęca do różnorodności i dostosowywania.
Ważne jest, aby pamiętać, że chociaż jest to możliwe do pokrycia najpopularniejszych wyrzutni Android, byłoby prawie niemożliwe, aby zaspokoić każdy z nich, biorąc pod uwagę sama liczba wyrzutni dostępnych na rynku.
Dzięki zestawowi CommunityToolkit możemy zaimplementować własną logikę licznika znaczków dla dostawców, którzy mają być wspierani. W ten sposób można to zrobić:
- Zaimplementuj interfejs
CommunityToolkit.Maui.ApplicationModel.IBadgeProvider
. ZobaczSamsungBadgeProvider
przykład implementacji: SamsungBadgeProvider. - W konstruktorze systemu Android
MainApplication
ustaw identyfikator uruchamiania na implementacjęIBadgeProvider
. Na przykład moduł uruchamiający Samsung wygląda następująco:
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);
}
- Dodaj wymagane uprawnienia do elementu
AndroidManifest.xaml
. Na przykład moduł uruchamiający Samsung wygląda następująco:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
Te zmiany są wystarczające, aby aplikacja mogła działać na urządzeniu Samsung z systemem Android i poprawnie zaktualizować numer znaczka ikon aplikacji. Zawiera on również punkt wyjścia i przewodnik dotyczący sposobu, w jaki można rozpocząć implementowanie obsługi innych modułów uruchamianych w aplikacji.
W związku z tym, chociaż nasz kod ma na celu zapewnienie idealnej implementacji, mogą istnieć wystąpienia, w których system Android nie będzie działać zgodnie z oczekiwaniami.
Zdecydowanie zalecamy dokładne przetestowanie aplikacji na różnych urządzeniach i modułach uruchamianych w celu uzyskania najdokładniejszej oceny zachowania powiadomień znaczków aplikacji w konkretnym przypadku użycia.
.NET MAUI Community Toolkit