Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何禁用所有第三方应用程序的声音';来自代码的通知?_Java_Android_Kotlin_Mobile_Notifications - Fatal编程技术网

Java Android:如何禁用所有第三方应用程序的声音';来自代码的通知?

Java Android:如何禁用所有第三方应用程序的声音';来自代码的通知?,java,android,kotlin,mobile,notifications,Java,Android,Kotlin,Mobile,Notifications,我需要从代码中禁用第三方应用程序通知的所有声音 类似这样的情况:当应用程序打开时,来自所有应用程序的所有通知都是静默的。当应用程序关闭时,声音设置恢复到以前的状态 如何实施?有可能这样做吗 看来这就是你要找的 您可以这样访问它(在本例中在活动内调用): 要获取当前卷(以便您可以在以后恢复),请使用 当应用程序启动时,您可以通过调用 对于SDK=23: audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, 0) aud

我需要从代码中禁用第三方应用程序通知的所有声音

类似这样的情况:当应用程序打开时,来自所有应用程序的所有通知都是静默的。当应用程序关闭时,声音设置恢复到以前的状态

如何实施?有可能这样做吗

看来这就是你要找的

您可以这样访问它(在本例中在活动内调用):

要获取当前卷(以便您可以在以后恢复),请使用

当应用程序启动时,您可以通过调用

对于SDK<23

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, 0)
audioManager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_MUTE, 0)
对于SDK>=23

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, 0)
audioManager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_MUTE, 0)
注:根据官方文件:

从N开始,将切换到“请勿打扰”的音量调整为 除非已授予应用程序请勿干扰访问权限,否则不允许访问


如上所述,您需要声明
ACCESS\u NOTIFICATION\u POLICY
并主动请求访问。

非常感谢您的回答,非常有用!此外,还需要添加访问通知策略请求,Karl Johan Vallner的回答有助于做到这一点。很高兴我能提供帮助。我已经更新了答案以反映这一信息。