gpt4 book ai didi

android - NotificationChannel 在 Oreo 中播放错误的声音

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:53 25 4
gpt4 key购买 nike

我在运行 Android Oreo 的设备中遇到 NotificationChannel 声音的奇怪问题。

假设我的项目原始目录中有两个声音文件:

a.mp3
c.mp3

然后在第一次安装应用程序时,我使用它们的 uri(例如)将这些声音分配给不同的通知 channel :

android.resource://myapp/2131558403 (for sound a.mp3)
android.resource://myapp/2131558404 (for sound c.mp3)

此时一切都按预期工作。当我开始添加新声音时出现问题(在前面或中间):

a.mp3
B.mp3 <- new file
c.mp3

然后文件的资源 ID 会相应地更改:

android.resource://myapp/2131558403 (for sound a.mp3)
android.resource://myapp/2131558404 (for sound B.mp3)
android.resource://myapp/2131558405 (for sound c.mp3)

因此此时我的第二个通知 channel 开始播放 B.mp3 声音文件而不是 c.mp3,因为它是使用 android.resource://myapp/2131558404 uri 初始化的。

在使用新声音文件编译应用后,c.mp3 的资源 ID 发生了变化。

那么这个问题的解决方案是什么,因为我无法在创建通知 channel 后对其进行修改。

最明显的解决方案是不在旧文件中间添加新文件,但可能会被遗忘。

也许我可以删除旧 channel 并使用新 ID 重新添加?

或者有没有办法使原始文件具有恒定的资源 ID?

最佳答案

NotificationChannels 是持久的。进行此类更改时,您需要为 channel 提供一个不同的 ID,以便应用更改。

关于android - NotificationChannel 在 Oreo 中播放错误的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48781986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com