Тихое уведомление в строке состояния, состоящее только из значков, вызывающее проблемы в области уведомлений с другими приложениями, которые зависят от устройства (пустые или обрезанные уведомления) - PullRequest
0 голосов
/ 06 августа 2020

У меня есть погодное приложение, которое позволяет пользователям постоянно отображать температуру в строке состояния со скрытым уведомлением. Я достигаю этого, имея тихое текущее уведомление, в котором содержимое уведомления представляет собой макет высотой 0dp: (код в C#, поскольку это проект Xamarin. Android)

        NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId)
            .SetContentIntent(pendingIntent)
            .SetContent(new RemoteViews(MainApplication.Context.PackageName, Resource.Layout.Blank_Notification))
            .SetSmallIcon(icon)
            .SetAutoCancel(false)
            .SetOngoing(true)
            .SetPriority((int)NotificationPriority.High)
            .SetOnlyAlertOnce(true);

Файл макета :

<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="0dp"
    android:layout_height="0dp"/>

Большую часть времени это работает нормально, но время от времени я получаю от пользователей сообщения о том, что мое уведомление вызывает странные проблемы с другими уведомлениями: либо некоторые из них обрезаются, либо их содержимое скрыто. В основном то, что здесь описано: https://support.google.com/pixelphone/thread/59310540?hl=en

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

Насколько я понимаю, такой подход (со скрытым уведомлением) не рекомендуется / не поддерживается. Но мне интересно, есть ли здесь обходной путь, тем более что такая функция довольно распространена / ожидаема от пользователей в приложении погоды.

...