微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在运行Android 5.0的设备上访问音频“优先级模式”?

Android 5.0包含一种新方法来控制允许哪些应用在您的设备上发出噪音:当您按下音量按钮时,弹出窗口现在允许您选择无(完全静音),优先级(仅优先通知发出声音)或全部(一切都可以发出噪音.)

我希望我的应用程序能够查询设备以找出当前活动的这三种模式中的哪一种,并且我希望能够更改这些模式(无需设备根植).有谁知道如何做到这一点?

到目前为止,我所能找到的只是一个简短的参考on this changelog

Setting the device to RINGER_MODE_SILENT causes the device to enter the new priority mode. The device leaves priority mode if you set it to RINGER_MODE_norMAL or RINGER_MODE_VIBRATE.

这就像所描述的那样工作,它允许我通过修改ringer mode in AudioManager来改变“优先模式”的能力非常有限.但这还不够,因为我需要能够确切地知道当前活动的三种优先模式设置中的哪一种,以及如果我能比AudioManager允许更精确地更改它们也会很好.

解决方法

我找到了一个解决方案,但这需要root来更改,因为此设置在Settings.Global中.

设置名称是“zen_mode”.

价值观是:

ZENMODE_ALL = 0;
ZENMODE_PRIORITY = 1;
ZENMODE_NONE = 2;

编辑:我找到了另一个解决方案.检查NotificationListenerService.requestInterruptionFilter(int interruptionFilter). https://developer.android.com/reference/android/service/notification/NotificationListenerService.html
实施例:https://github.com/kpbird/NotificationListenerService-Example

原文地址:https://www.jb51.cc/android/308636.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐