我需要从原始文件夹动态添加通知声音 - Android



我的原始文件夹中有一个名为"notificationsound.mp3"的文件,以及许多其他声音文件。我需要将声音文件动态添加到我生成的通知中。我的方法包括添加查找原始/声音文件的资源 ID,并添加它。"con"是传递的上下文。我的代码如下

    //blah blah blah lines of code
   String soundname="notificationsound"; // this name will be changed dynamically which is passed via constructor
  int res_sound_id = con.getResources().getIdentifier(soundname, "raw", con.getPackageName());
   builder.setSound("android.resource://" + con.getPackageName() + "/"+ res_sound_id );
  //blah blah lines of code

当然,由于res_sound_id,我在builder.setSound()行中得到了错误。我确实浏览了几个链接,包括如何在 android 中使用自定义声音设置通知有没有更好的(和正确的)做同样的事情?

好吧,这是相同的解决方案。1) 获取资源 ID2) 创建一个 Uri 对象3) 调用 .setSound() 方法

   String s="soundname" // you can change it dynamically
   int res_sound_id = con.getResources().getIdentifier(soundname, "raw", con.getPackageName());
   Uri u= Uri.parse("android.resource://" + con.getPackageName() + "/" +res_sound_id );
   builder.setSound(u);

最新更新