如何在状态栏中显示通知?

6
所以我在我的活动中创建了这个通知。
Notification n = new Notification.Builder(getApplicationContext())
    .setContentTitle("New mail from " + sender)
    .setContentText(subject)
    .setSmallIcon(R.drawable.notification)
    .build();

如何将其与声音一起显示在状态/通知栏中?
2个回答

5

在Android开发者网站上有一些很好的文档,您可以查看通知相关文档,并查看NotificationManager文档

以下是一些代码示例:

NotificationManager mNotificationManager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(mId, n);

请注意,将您的意图添加到通知中也是一个好主意。
mBuilder.setContentIntent(resultPendingIntent);

为了添加声音,您可以使用Notification.Builder.setSound()方法。

需要添加意图吗?我的意思是,当我启动活动时,它会在没有意图的情况下启动吗? - Vladimir
它到底是什么意思,我的意思是我应该给它赋什么值,因为这样会显示错误? - Vladimir
我从未尝试过不添加它,但我认为如果你不添加它,它不会启动该活动。 - Frank
你可以分配任何整数,然后使用该整数稍后更新通知。 - Frank
我有另一个问题,这似乎与11及以上版本兼容,而我需要它在2.2上运行。除了声音之外,还有其他通知用户的方法吗? - Vladimir
@VladimirпјҡдҪҝз”ЁAndroid SupportеҢ…дёӯзҡ„NotificationCompat.BuilderпјҢд»ЈжӣҝNotification.BuilderгҖӮ - CommonsWare

2
如何将其与声音一起显示在状态/通知栏中?
使用 Notification.Builder.setSound() 方法。
您可以像这样获取默认铃声:
Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

然后将其设置为通知声音:
Notification.Builder(getApplicationContext()).setSound(uri);

然后,在您构建通知之后,使用以下命令启动它:
myNotificationManager.notify(myNotificationId, n);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接