当从Firebase中的查询中创建不同的通知时,我无法精确提取标题
问题描述:
我可以在Firebase聊天应用程序中的循环内部创建来自不同用户的不同通知(即在消息不断更新时正确更新当前通知)。当从Firebase中的查询中创建不同的通知时,我无法精确提取标题
但是,由于通知的创建是在循环内部,所以打开活动的意图的put.extra方法总是取最后一个参数。所以我不能从第一个通知中去所需的位置。 我认为更好的方法是准确获取通知区域中存在的通知的标题。这将完全符合我的需求!
我可以这样做吗?尽管在通知区域中创建和订购的顺序,我是否可以准确获得任何通知的标题并将其传递给下一个活动?
预先感谢
答
问题解决了不同的方法。我通过输入在resultIntent一些虚拟行动succeded:
resultIntent.setAction(Long.toString(System.currentTimeMillis的()));
我不再需要获取通知的标题!
下面是代码里面一个for循环生成的intent.Remember整个代码...
String tagStringForNotification = usermessageOfLast.getName();
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(usermessageOfLast.getName() +"\t" + "said:")
.setContentText(usermessageOfLast.getText())
.setOnlyAlertOnce(true)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
mBuilder.setAutoCancel(true);
mBuilder.setLocalOnly(false);
Intent resultIntent = new Intent(MainActivity.this, UserToUserMessageNotification.class);
resultIntent.putExtra("chatsWith", tagStringForNotification);
resultIntent.setAction(Long.toString(System.currentTimeMillis()));
//flag to upddate current or create new one
PendingIntent resultPendingIntent = PendingIntent.getActivity(MainActivity.this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
//building the notification
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager.notify(tagStringForNotification, notifyID, mBuilder.build());