Я использую AndroidX для своего приложения и пытаюсь отобразить уведомление с пользовательским стилем BigPicture (как в документах ).
Однако я не могу использовать .setStyle(Notification.BigPictureStyle()
поскольку NotificationCompat.Builder
- это AndroidX, тогда как BigPictureStyle
- это ядро Android, и, казалось бы, несовместимо.Предположительно стиль должен исходить из AndroidX, но это не вариант импорта, даже если вручную ввести импорт.
Неисправный код:
val notif = NotificationCompat.Builder(context, channelId)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_notification)
.setLargeIcon(image)
.setContentTitle(apod.title)
.setContentText(apod.desc.take(100))
.setStyle(Notification.BigPictureStyle()
.bigPicture(image)
.bigLargeIcon(null as Bitmap))
Снимок экрана ошибки:
Импорт:
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Color
import android.media.RingtoneManager
import android.os.Build
import androidx.core.app.NotificationCompat
Потенциально соответствующие строки уровня приложения build.gradle
:
implementation 'com.android.support:design:28.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
И, конечно, в gradle.properties
:
android.useAndroidX=true
android.enableJetifier=true
Есть идеи, какие изменения можно внести, чтобы позволить мне отображать уведомление BigPicture при использовании AndroidX?