部分用户报告华为EMUI 8.0 Oreo 通知频道 没有选项更改音调“声音来自应用程序的“/”通知音“!
截至官方文档,开发人员无法再更改设置 那么如何为华为手机添加一个更改“通知音”的选项呢?
有谁知道为什么华为删除了这个功能? 我没有找到华为的官方文档,我们现在可以让用户更改通知音。
我所指的官方文件:
https://developer.android.com/reference/android/app/NotificationChannel.html
https://developer.android.com/reference/android/app/NotificationChannel.html#setSound(android.net.Uri,android.media.AudioAttributes)
答案 0 :(得分:1)
我们最近遇到了同一问题。 这不是一个很好的解决方案,但是WhatsApp也在做同样的事情。 基本上,我们在应用程序内显示一个铃声选择,然后使用新的频道ID和选定的铃声uri删除并重新创建通知频道。您可以将对频道所做的大多数设置复制到新设置,“请勿打扰”除外。
就像我说的那样,这不是一个很好的解决方案,而且我不知道如果重新创建很多频道会发生什么。但是希望铃声不会经常更改。
注意:通知设置屏幕显示已删除频道的数量,以作为垃圾邮件预防机制。
答案 1 :(得分:0)
在中文设备上遇到了同样的问题。首先,我有像描述@Devenias一样的解决方案。它在系统中的工作方式:定义新频道时,NotificationService将此频道保存为xml,更改后仍保留在该xml中。因此,在频道的新更改中,NotificationService将检查其是否具有相同名称的频道,然后对其进行检索。因此,当用户在应用程序中更改振动或铃声时,我会一直使用新设置来创建新频道。它也像缓存一样工作,只需为配对创建唯一的频道名称。该解决方案非常hacky,因为它在Honor,华为,三星的设备和小米Mi A1上都可以正常工作,但是在小米Mi Mix 2的SystemUI中使用NullPointer使NotificationService崩溃了(因此如果SystemUI服务崩溃,设备将进行软重启),所以不要使用这个解决方案。
因此,如今安全的工作方式是手动播放声音和振动。