【发布时间】:2016-05-06 16:40:56
【问题描述】:
我是 Android 开发的新手,我正在创建一个从服务器(使用 WebSockets)接收消息的应用程序,我想在它发送消息时接收通知。我做到了,一切正常,我唯一想要的就是有一个可以扩展的通知(如 Gmail 或 WhatsApp 通知)。我搜索了过去两天,但没有找到我想要的东西(也来自 Android 开发者网站)。有人可以帮我这样做吗?在此先感谢,如果您需要澄清问题,请原谅我的英语不好,请问:)
这里有类似电话图片的东西:http://developer.android.com/intl/es/training/wearables/notifications/stacks.html(尝试这样做但没有成功。如果你想看,我可以发布代码)
这是我的代码(已更新):
int n=0;
final static String GROUP = "group";
public void notifica(String title,String text) {
NotificationCompat.Builder mBuilder =
(NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icona)
.setContentTitle(title)
.setContentText(text)
.setStyle(new NotificationCompat.InboxStyle()
.addLine(text)
.setBigContentTitle(n+" new messages")
.setSummaryText("irrigator"))
.setGroup(GROUP)
.setGroupSummary(true)
.setDefaults(Notification.DEFAULT_ALL) // requires VIBRATE permission
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(text));
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mNotifyMgr.notify(n, mBuilder.build());
}
n++;
更新2:
Notification notif = new NotificationCompat.Builder(this)
.setContentTitle("New mail from a ")
.setContentText("a")
.setSmallIcon(R.drawable.icona)
.setGroup(GROUP_KEY_EMAILS)
.build();
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
notificationManager.notify(n, notif);
n++;
Notification notif2 = new NotificationCompat.Builder(this)
.setContentTitle("New mail from dsd" )
.setContentText("td")
.setSmallIcon(R.drawable.icona)
.setGroup(GROUP_KEY_EMAILS)
.build();
notificationManager.notify(n, notif2);
n++;
【问题讨论】:
-
“它不起作用”是什么意思?你看到什么结果?其次第一步是设置组,你还没有设置组。
-
我已经更新了代码,它只是像以前一样每次发送新消息时都会显示一个带有文本的新通知
-
您正在为所有通知分配相同的 ID。这将简单地替换前一个,而不是向组中添加一个新的。
-
我忘记粘贴 n++;我更新了代码
-
这段代码在哪里?
n在每个通知上是否真的不同,还是每次都重置为 0。
标签: android android-studio push-notification