相关疑难解决方法(0)

Android多行通知,例如Gmail应用

我正在尝试创建一个多行通知,如Gmail应用程序所示,如下图所示(5个通知分组在一个通知下)

在此输入图像描述

我尝试了各种示例,但似乎只能创建单个通知

   public void createSingleNotification(String title, String messageText, String tickerttext) {
        int icon = R.drawable.notification_icon; // icon from resources
        CharSequence tickerText = tickerttext; // ticker-text
        long when = System.currentTimeMillis(); // notification time
        Context context = getApplicationContext(); // application Context
        CharSequence contentTitle = title; // expanded message title
        CharSequence contentText = messageText; // expanded message text
        Intent notificationIntent = new Intent(this, MainActivity.class);

        Bundle xtra = new Bundle();
        xtra.putString("title", title);
        xtra.putString("message", messageText);

        notificationIntent.putExtras(xtra);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
          notificationIntent, PendingIntent.FLAG_ONE_SHOT
            + PendingIntent.FLAG_UPDATE_CURRENT); …
Run Code Online (Sandbox Code Playgroud)

android android-notifications

32
推荐指数
4
解决办法
5万
查看次数

如何检测在 Android 中单击了通知包/组?

在 Android Nougat 及更高版本中,应用的推送通知会在 #4th 之后自动组合在一起。

Android 中的问题是单击捆绑包不会展开推送通知列表,而是打开应用程序。

我需要识别通过推送通知打开应用程序的用户。对于单个通知,这很容易,因为我可以探索意图附加功能。捆绑包的问题在于 extras 为空,并且意图看起来与用户单击启动器图标完全相同。我无法检测到导航是通过推送通知完成的 :(

以防万一不清楚:我没有明确使用推送通知组,这是由 Android 自动完成的。我没有为通知设置任何组密钥。

我正在使用 Firebase。我只NotificationCompat在应用程序在前台时使用构建推送通知,当应用程序在后台或关闭时不执行此逻辑(OnMessageReceived仅在应用程序在前台运行)。

编辑

我知道OnMessageReceived即使在后台或关闭时,我也可以更改正在执行的事件的 PN 有效负载。我想避免这种情况,因为我发现很多人抱怨在这种情况下无法到达 PN 的问题。

http://github.com/firebase/quickstart-android/issues/368

http://github.com/firebase/quickstart-android/issues/219

即使应用程序没有创建它,我也想检测用户点击分组的 PN。

android push-notification

12
推荐指数
1
解决办法
2625
查看次数