Индикатор событий
Badge
API позволяет разработчикам задать номер значка приложения на начальном экране.
Для использования Badge
API требуются следующие предварительные условия:
Дополнительная конфигурация, необходимая для поддержки устройств Android. См . раздел Android ниже.
Синтаксис
C#
Badge
API можно использовать следующим образом в C#:
void SetCount(uint value)
{
Badge.Default.SetCount(value);
}
Методы
Метод | Description |
---|---|
SetCount | Задайте число индикаторов событий. |
Регистрация зависимостей
Если вы хотите использовать встроенный уровень внедрения зависимостей в .NET MAUI, необходимо сначала зарегистрировать Badge
реализацию внутри.MauiProgram
Обновите MauiProgram.cs
следующие изменения:
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();
}
}
Теперь вы можете внедрить службу следующим образом:
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);
}
}
Примеры
Пример API можно найти в действии Badge
в сообществе .NET MAUI набор средств пример приложения.
API
Исходный код ДЛЯ Badge
API можно найти в репозитории сообщества .NET MAUI community набор средств GitHub.
Android
Предупреждение
Из-за различных ландшафтов производителей и средств запуска устройств Android, обратите внимание, что могут быть непредсказуемые варианты отображения индикаторов событий приложения или их отображения на разных устройствах.
В мире Android один размер редко подходит всем. Этот принцип имеет значение true, когда речь идет о настройке счетчиков индикаторов событий приложения, из-за отсутствия стандартизованного API, предоставляемого системой Android для этой функции.
Различные средства запуска Android решили реализовать счетчики индикаторов событий уникальным способом. Большинство запусков, включая популярные, такие как Nova Launcher, Microsoft Launcher и т. д., имеют свои конкретные методы для обработки этой функции.
Следовательно, чтобы обеспечить правильность отображения уведомлений о индикаторах событий приложения в этих разнообразных средствах запуска, необходимо прибегнуть к программированию конкретных реализаций кода для каждого средства запуска. Это означает, что код адаптируется к конкретным требованиям уникального механизма счетчика индикаторов индикатора каждого запуска.
Рассмотрим это как препятствие, которое разработчики должны преодолеть, в пути к достижению универсального интерфейса приложений. Это связано с гибкой экосистемой Android, которая поощряет разнообразие и настройку.
Важно отметить, что в то время как это возможно для покрытия самых популярных средств запуска Android, было бы почти невозможно обеспечить каждый из них, учитывая большее количество запусков, доступных на рынке.
С помощью сообщества набор средств мы предоставляем вам способ реализации собственной логики счетчика индикаторов индикаторов для поставщиков, которые вы хотите поддерживать. Вот как это сделать:
- Реализуйте интерфейс
CommunityToolkit.Maui.ApplicationModel.IBadgeProvider
. СмSamsungBadgeProvider
. пример реализации: SamsungBadgeProvider. - В конструкторе Android
MainApplication
задайте идентификатор средства запуска для реализацииIBadgeProvider
. Например, средство запуска Samsung будет выглядеть следующим образом:
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);
}
- Добавьте необходимые разрешения в объект
AndroidManifest.xaml
. Например, средство запуска Samsung будет выглядеть следующим образом:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
Эти изменения достаточно, чтобы приложение выполнялось на устройстве Samsung на основе Android и правильно обновляло значок значков приложения. Он также предоставляет отправную точку и руководство по реализации поддержки других запусков в приложении.
Поэтому, хотя наш код стремится обеспечить идеальную реализацию, могут возникнуть экземпляры, в которых Android не будет вести себя должным образом.
Мы настоятельно рекомендуем тщательно протестировать приложение на различных устройствах и средствах запуска для наиболее точной оценки того, как работают уведомления о значках приложений в конкретном варианте использования.
.NET MAUI Community Toolkit