📜  android studio 移除通知栏 - Java (1)

📅  最后修改于: 2023-12-03 15:13:20.978000             🧑  作者: Mango

Android Studio 移除通知栏 - Java

在 Android Studio 中,如果需要移除通知栏,可以使用以下代码:

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();

其中,NotificationManager 是 Android 系统用于管理通知的类,cancelAll() 方法可以将所有的通知都取消掉。

如果只需要取消特定通知,可以使用 cancel(int id) 方法,其中 id 为通知的标识符。

需要注意的是,在 Android 8.0 及以上版本中,通知渠道的概念被引入。需要使用 createNotificationChannel() 方法创建通知渠道,并将渠道标识符传递给 NotificationCompat.Builder 对象。如果要取消通知,需要传递对应的渠道标识符。

以下是示例代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    String channelId = "my_channel_id";
    CharSequence channelName = "My Channel";
    int importance = NotificationManager.IMPORTANCE_HIGH;
    NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelId)
            .setSmallIcon(R.drawable.ic_launcher_background)
            .setContentTitle("My notification")
            .setContentText("Hello World!");
    int notificationId = 1;
    notificationManager.notify(notificationId, builder.build());

    // 取消通知
    notificationManager.cancel(notificationId);
}

以上代码会创建一个通知,并将其发送到通知栏。如果需要取消该通知,可以调用 notificationManager.cancel(notificationId) 方法,其中 notificationId 为通知的标识符。

参考链接: