类型不匹配。必需:NotificationCompat.Style,找到:Notification.BigPictureStyle
Type mismatch. Required: NotificationCompat.Style, Found: Notification.BigPictureStyle
我正在为我的应用程序使用 AndroidX,并尝试显示具有自定义 BigPicture 样式的通知(如 in the docs)。
但是,我不能使用 .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
知道可以进行哪些更改以允许我在使用 AndroidX 时显示 BigPicture 通知吗?
一如既往,你一写出问题就解决了。
解决方案只是将 Notification.BigPictureStyle()
更改为 NotificationCompat.BigPictureStyle()
,因为所有 AndroidX 通知库都被命名为 NotificationCompat
!
最终代码:
val notif = NotificationCompat.Builder(context, channelId)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_notification)
.setLargeIcon(image)
.setContentTitle(apod.title)
.setContentText(apod.desc.take(100))
.setStyle(NotificationCompat.BigPictureStyle()
.bigPicture(image)
.bigLargeIcon(null))
我正在为我的应用程序使用 AndroidX,并尝试显示具有自定义 BigPicture 样式的通知(如 in the docs)。
但是,我不能使用 .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
知道可以进行哪些更改以允许我在使用 AndroidX 时显示 BigPicture 通知吗?
一如既往,你一写出问题就解决了。
解决方案只是将 Notification.BigPictureStyle()
更改为 NotificationCompat.BigPictureStyle()
,因为所有 AndroidX 通知库都被命名为 NotificationCompat
!
最终代码:
val notif = NotificationCompat.Builder(context, channelId)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_notification)
.setLargeIcon(image)
.setContentTitle(apod.title)
.setContentText(apod.desc.take(100))
.setStyle(NotificationCompat.BigPictureStyle()
.bigPicture(image)
.bigLargeIcon(null))