Создание пользовательского уведомления с помощью xamarin.android

Я пытаюсь сделать полностью пользовательское уведомление с помощью Xamarin.android.
Мой проект нацелен на минимальный API, равный 14, поэтому расширенное уведомление поддерживается. Я пытаюсь добиться того же взгляда на все API, поэтому я использую Android.Support.V4.App.NotificationCompat.Builder.

Я узнал, что вы можете использовать setCustomContentView для установки пользовательского представления, который будет меняться в макете уведомления, и это то, к чему я стремился.

Вот код, который я пытался запустить:

RemoteViews widgetLayout = new RemoteViews(PackageName,Resource.Layout.SingleNotificationLayout);

NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                .SetCustomBigContentView(widgetLayout);

notificationManager.Notify(notificationId, builder.Build());

Что Resource.Layout.SingleNotificationLayoutпредставляет собой файл макет для notification.Im выполняющего этот код из MainActiviy.Code изменяются от здесь .

Ошибка, с которой я сталкиваюсь, SetCustomBigContentViewне найдена, в частности:

'NotificationCompat.Builder' does not contain a definition for 'SetCustomBigContentView' and no extension method 'SetCustomBigContentView' accepting a first argument of type 'NotificationCompat.Builder' could be found (are you missing a using directive or an assembly reference?)

Вот мои установленные пакеты:

<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.Design" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v14.Preference" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v4" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v7.GridLayout" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v7.Preference" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.4.0.1" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" />

Что мне не хватает? Является ли эквивалентная функция названной по-разному?

c#,android,xamarin,notifications,xamarin.android,

3

Ответов: 1


1 принят

Вам нужно будет использовать последние пакеты до выпуска для библиотек поддержки. В частности https://www.nuget.org/packages/Xamarin.Android.Support.v4/24.2.1-rc1 , который включает в себя новую сборку: Xamarin.Android.Support.Compat. Это будет включать в себя метод, который вы ищете:

EX: Просмотр Xamarin.Android.Support.v4в DotPeek

введите описание изображения здесь

Однако он не включен в текущую стабильную (23.4.0.1), как вы можете видеть здесь:

EX: Просмотр Xamarin.Android.Support.v4в DotPeek

введите описание изображения здесь

c #, android, xamarin, уведомления, xamarin.android,