2

在Android O中,我們可以擁有不同優先級級別(重要性)的不同通知渠道。在我的代碼中,我將頻道重要性級別設置爲「緊急」,即「在屏幕上製作聲音和彈出窗口」。Android O - 關閉通知頻道,然後打開,重要性級別始終重置爲中

但是,當我轉到通知設置時,關閉通道通知,然後打開它,重要性級別將始終重置爲默認級別的中等(「無聲音」)。

我知道我們可以隨時手動更改重要性級別,但有沒有辦法在通道關閉之前讓它記住設置,以便當它再次打開時,它會自動恢復到它具有的設置之前?

回答

0

似乎沒有通知功能來記住您的重要性級別。在您的代碼中保存頻道的默認重要性並不難。

這是我的測試:

我創建了重要性水平IMPORTANCE_HIGH在開始時通知通道。然後通過設置或長按通知彈出來關閉通知。重要性級別變爲IMPORTANCE_NONE。當我再次打開通知時,它變爲IMPORTANCE_LOW。

以下是示例代碼,用於檢查在關閉並打開通知通道後級別是否已降低並將其設置爲原始重要性。

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); 
    } 
相關問題