2016-10-01 114 views
1

如何在构建通知时发出声音无法发出声音?我正在建立通知,而我的用户不喜欢它发出声音的事实。如何在没有声音的情况下显示通知java

我该如何将它改为静音/无声音?

如何显示通知:

android.support.v7.app.NotificationCompat.Builder builder = new android.support.v7.app.NotificationCompat.Builder(main); 
builder.setStyle(new android.support.v7.app.NotificationCompat.BigTextStyle().bigText(text)); 
builder.setSmallIcon(R.drawable.app); 
builder.setContentTitle("Rooster Maandag:"); 
builder.setOngoing(false); 
builder.setAutoCancel(true); 
builder.setDefaults(Notification.DEFAULT_ALL); 
builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); 
builder.setPriority(NotificationCompat.PRIORITY_DEFAULT); 
notificationManager = (NotificationManager) main.getSystemService(main.NOTIFICATION_SERVICE); 
notificationManager.notify(NOTIFICATION_ID, builder.build()); 

我试图在谷歌搜索,但结果只有我得到的是如何发挥的声音,没怎么不播放声音...

编辑 这可能是在一些人眼里的副本,但在我的我找不到出去的有指定的默认选择,而这种新方法被称为setDefaults

+0

可能重复的[Android:通知声音禁用](http://stackoverflow.com/questions/7655164/android-notification-sound-disable) –

+0

@PavneetSingh对不起,没有拿出单词“禁用” – Jason

回答

5

删除线路到builder.setDefaults(Notification.DEFAULT_ALL);。它不会播放声音,但您可能需要启用所有其他通知默认设置(如果首选)

+0

然后它会振动......我希望它根本没有任何反馈 – Jason

+0

当我删除线时,它只显示通知:)。非常感谢 – Jason

1

使用此功能如果您需要通知中的所有声音(声音,振动和灯光)。

builder.setDefaults(Notification.DEFAULT_ALL); 

或者您可以根据您的要求启用或禁用项目。

builder.setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); 

如果您不想要任何内容​​,请留言此行。

0

简单的方法去能够显示任何优先级的通知是设置一些实际上是沉默的声音。只是产生一些silence.mp3把它放在“原始”文件夹,并设置通知使用开放的声音:

Uri.parse("android.resource://"+YOUR_APP_PACKAGE_NAME+"/"+R.raw.silence) 

您可以生成这种MP3播放与像Audacity的应用程序。它有选项产生沉默,只需设置几秒钟,你就可以走了。

如果您将默认值设置为0并将声音设置为空,则通知将显示,但您无法听到它,但无法显示具有更高优先级的通知。

相关问题