如何将声音添加到通知?

如何将声音添加到由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()); 

Related of "如何将声音添加到通知?"

我猜这里的问题是如何引用一个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理器发送通知。 如果使用这两个语句,应用程序将默认使用默认声音。