如何将声音添加到通知?

如何将声音添加到由NotificationCompat.Builder创build的通知? 我在res中创build了一个原始文件夹,并在那里添加了声音。 那么现在如何将它添加到通知? 这是我的通知代码

int NOTIFY_ID=100; Intent notificationIntent = new Intent(this, Notification.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setContentIntent(pendingIntent) .setSmallIcon(R.drawable.notification) .setContentTitle("Warning") .setContentText("Help!") NotificationManager mgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mgr.notify(NOTIFY_ID, mBuilder.build()); 

  • Soundpool加载声音名称为“OMX.qcom.audio.decoder.aac”的组件已经存在,忽略了这个
  • 在左右扬声器上播放2个不同的audiostream
  • 在android应用程序中实现声音
  • Android上USB麦克风的AudioSource值
  • Android Visualizer的FFT /波形受设备音量的影响?
  • 推荐的Android音乐格式 - mp3,ogg还是其他?
  • Android - 从听筒播放audio
  • ADT插件中的android模拟器没有运行
  • 我猜这里的问题是如何引用一个Uri的声音,因为在NotificationCompat.Builder类中有一个明显的方法 – setSound(Uri soundUri)

    要访问您的raw资源,您需要创buildUri ,如下所示:

    android.resource:// [PACKAGE_NAME] / [RESOURCE_ID]

    所以代码可能会看起来像这样:

     Uri sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notifysnd); mBuilder.setSound(sound); 

    通过您的通知播放声音:

     Notification notification = new Notification(icon, tickerText, when); 

    做正常的通知程序

    通过您的通知播放默认声音:

     notification.defaults |= Notification.DEFAULT_SOUND; 

    通过您的通知播放自定义声音:

     notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3"); 

    然后使用通知pipe理器发送通知。 如果使用这两个语句,应用程序将默认使用默认声音。