android 设置 声音 出错,android – NotificationChannel在奥利奥播放错误的声音

我在运行

Android Oreo的设备中使用NotificationChannel声音时遇到这个奇怪的问题.

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

a.mp3

c.mp3

然后在第一次安装app时,我会使用他们的uri将这些声音分配到不同的通知通道(例如):

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

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

在这一点上,一切都按预期工作.

当我开始添加新声音(在前面或中间)时出现问题:

a.mp3

B.mp3

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)

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

在使用新声音文件编译应用程序后,c.mp3的资源ID已移位.

那么这个问题的解决方案是什么,因为我无法在创建后修改通知通道.

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

也许我可以删除旧频道并再次添加新ID?

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值