9

部分用户在华为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)

4

2 回答 2

2

我们最近遇到了同样的问题。这不是一个好的解决方案,但 WhatsApp 也在做同样的事情。基本上我们在我们的应用程序中显示一个铃声选择,然后删除并使用新的频道 ID 和选定的铃声 uri 重新创建通知频道。您可以将对频道所做的大多数设置复制到新频道,但“请勿打扰”除外。

就像我说的那样,这不是一个好的解决方案,我不知道如果重新创建频道会发生什么。但希望铃声不会经常更改。

注意:通知设置屏幕显示已删除频道的数量,作为垃圾邮件预防机制。

于 2018-12-03T17:20:41.557 回答
1

在中文设备上面临同样的问题。首先,我有相同的解决方案,比如描述@Devenias。它在系统中的工作原理:当您定义一个新频道时,NotificationService 将此频道保存在 xml 中,更改后它仍然包含在此 xml 中。因此,当频道发生新的变化时,NotificationService 将检查它是否有同名的频道,然后检索它。因此,当用户在应用程序中更改振动或铃声时,我一直使用新设置创建新频道。它也像缓存一样工作,只需为pair<铃声,振动>创建唯一的频道名称。这个解决方案非常hacky,因为它在Honor、华为、三星的设备和小米Mi A1上运行良好,但是它在小米Mi Mix 2的SystemUI中使用NullPointer使NotificationService崩溃(设备软重启,如果SystemUI服务崩溃),

所以现在一个安全的解决方法是手动播放声音和振动。

于 2018-12-24T12:52:01.463 回答