打开请勿以编程方式打扰,但有例外

Turn on do not disturb programmatically, with exceptions

我有一个 android 应用程序,我需要以编程方式打开“请勿打扰”按钮,但有例外情况,我可以播放媒体。我使用以下代码成功打开了“请勿打扰”:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (notificationManager.isNotificationPolicyAccessGranted) {
        Log.d(Globals.LOG_TAG, "has permissions")
    } else {
        Log.d(Globals.LOG_TAG, "does not have permissions")
        val intent = Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)
        startActivity(intent)
    }
} else {
    Log.d(Globals.LOG_TAG, "device does not support do not disturb feature")
}
notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE)

并添加了权限:

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>

但由于请勿打扰无法在应用程序上播放媒体。但是我看到我可以设置例外(用于呼叫、警报、媒体...),我想以编程方式向媒体添加例外。

我怎样才能做到这一点?谢谢。

需要做

notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY)

而不是

notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE)