在Android O中,我们可以具有不同优先级级别(重要性)的不同通知通道。在我的代码中,我将频道的重要性级别设置为紧急,即"在屏幕上制作声音和弹出"。
但是,当我转到通知设置时,关闭通知通知,然后将其打开,重要性级别将始终重置为介质("无声音"),这是默认级别。
我知道我们始终可以手动更改重要性级别,但是是否有一种方法可以让它记住频道关闭之前的设置?
看来,通知记住您的重要性水平似乎没有功能。仅保存代码中的频道的默认重要性并不难。
这是我的测试:
我创建了一个具有重要性级别的通知频道,因为始于一开始就将其作为重要性_high。然后关闭从设置中关闭通知,或弹出通知上的长按下。重要性级别变得很重要。当我再次打开通知时,它变得很重要。
以下是示例代码,用于检查关闭和在通知频道上并将其设置为最初重要性后是否降低了级别。
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel notificationChannel = notificationManager.getNotificationChannel("your_channel_id");
int importance = notificationChannel.getImportance();
if (importance < NotificationManager.IMPORTANCE_HIGH && importance > 0 ) {
notificationChannel.setImportance(NotificationManager.IMPORTANCE_HIGH);
}