java - 以编程方式打开请勿打扰,但有例外
问题描述
我有一个 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)
推荐阅读
- xamarin.forms - 为 Xamarin TableView 中的每个 EntryCell 设置相同的标签宽度
- python - 为什么迭代行会删除 csv.reader 和 csv.DictReader 中的数据?
- c# - 如何模拟 ActivityContext 类
- julia - 在 JuMP/Gurobi 中添加 OR 约束
- ios - 如何在 popViewController 之后从第二个 ViewController 执行功能?
- html - 如何在 HTML 中单击按钮时更改 iframe 源?
- r - 无法读取由 R 4.0.2 编写的工作区版本 3;需要 R 3.5.0 或更新版本
- sql - 排序依据——不同标准的不同顺序
- vb.net - 如何删除进程中当前正在使用的图像
- javascript - Ajax 的标头未发送(通过电子 webview)