小编典典

奥利奥中未显示通知

all

普通通知生成器不会在 Android O 上显示通知。

如何在 Android 8 Oreo 上显示通知?

是否有任何新代码要添加以在 Android O 上显示通知?


阅读 101

收藏
2022-07-17

共1个答案

小编典典

在 Android O 中,必须在 Notification Builder 中使用通道

下面是一个示例代码:

// Sets an ID for the notification, so it can be updated.
int notifyID = 1; 
String CHANNEL_ID = "my_channel_01";// The id of the channel. 
CharSequence name = getString(R.string.channel_name);// The user-visible name of the channel.
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
// Create a notification and set the notification channel.
Notification notification = new Notification.Builder(MainActivity.this)
            .setContentTitle("New Message")
            .setContentText("You've received new messages.")
            .setSmallIcon(R.drawable.ic_notify_status)
            .setChannelId(CHANNEL_ID)
            .build();

或通过以下方式处理兼容性:

NotificationCompat notification =
        new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("My notification")
        .setContentText("Hello World!")
        .setChannelId(CHANNEL_ID).build();

现在让它通知

NotificationManager mNotificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
 mNotificationManager.createNotificationChannel(mChannel);

// Issue the notification.
mNotificationManager.notify(notifyID , notification);

或者如果您想要一个简单的修复,请使用以下代码:

NotificationManager mNotificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
       mNotificationManager.createNotificationChannel(mChannel);
    }

更新: NotificationCompat.Builder
参考

NotificationCompat.Builder(Context context)

此构造函数在 API 级别 26.0.0 中已弃用,因此您应该使用

Builder(Context context, String channelId)

所以不需要setChannelId使用新的构造函数。

你应该使用目前最新的 AppCompat 库 26.0.2

compile "com.android.support:appcompat-v7:26.0.+"

来自Youtube 上的 Android 开发者频道

此外,您可以查看官方 Android
文档

2022-07-17