Android中针对同一应用程序的多个通知无法正常工作?

安舒尔

我已经为我的android应用实现了推送通知。我能够在通知栏中显示多个通知,但一次只能显示一个通知。如果我单击任何通知,它将启动预期的活动,并且该特定通知将从通知栏中消失但是同一个应用程序的其他通知将失效。单击其余通知时什么也没有发生。我处理通知的代码如下:

private void sendNotification(String msg, String msgId, int notificationId,
            int type) {
        // SharedPreferences prefs = getSharedPreferences(
        // Utility.PREFS_NAME, MODE_PRIVATE);
        mNotificationManager = (NotificationManager) this
                .getSystemService(Context.NOTIFICATION_SERVICE);

        Intent intent = null;
        Bundle bundle = new Bundle();
        if (type == 1) {
            intent = new Intent(this, Activity_Received.class);

            // bundle.putString("greeting", msg);
            bundle.putString(Utility.KEY_MESSAGE_DELIVERY_ID, msgId);

        } else if (type == 2) {
            intent = new Intent(this, Activity_Birth.class);

        } else {
            return;
        }

        bundle.putBoolean(Utility.KEY_IS_NOTIFICATION, true);
        intent.putExtras(bundle);

        PendingIntent contentIntent;

        // The stack builder object will contain an artificial back stack
        // for
        // the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out
        // of
        // your application to the Home screen.
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        // Adds the back stack for the Intent (but not the Intent itself)

        if (type == 1) {
            stackBuilder.addParentStack(Activity_Received.class);
        } else {
            stackBuilder.addParentStack(Activity_Birth.class);
        }
        // Adds the Intent that starts the Activity to the top of the stack
        stackBuilder.addNextIntent(intent);

        contentIntent = stackBuilder
                .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT
                        | PendingIntent.FLAG_ONE_SHOT);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle("WishnGreet")
                .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
                .setContentText(msg)
                .setAutoCancel(true)
                .setSound(
                        RingtoneManager
                                .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));


        mBuilder.setContentIntent(contentIntent);
        mNotificationManager.notify(notificationId, mBuilder.build());
    }

请告知我需要在上述代码中进行哪些更改,以便可以单击收到的有关我的应用程序的所有通知并开始预期的活动。

安舒尔

我编写了以下方法,该方法在出现多个通知时有效。

private void pushNotification(String msg, String msgId, int notificationId,
            int type) {
        mNotificationManager = (NotificationManager) this
                .getSystemService(Context.NOTIFICATION_SERVICE);
        Bundle bundle = new Bundle();
        bundle.putString(Utility.KEY_MESSAGE_DELIVERY_ID, msgId);
        bundle.putBoolean(Utility.KEY_IS_NOTIFICATION, true);
        Intent intent = new Intent(this, Activity_ReceivedGreeting.class);
        intent.putExtras(bundle);

        PendingIntent contentIntent = PendingIntent.getActivity(
                getApplicationContext(), notificationId, intent,
                PendingIntent.FLAG_ONE_SHOT);
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle("WishnGreet")
                .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
                .setContentText(msg)
                .setAutoCancel(true)
                .setSound(
                        RingtoneManager
                                .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
        mBuilder.setContentIntent(contentIntent);
        mNotificationManager.notify(notificationId, mBuilder.build());
    }

关键是要删除挂起的标志。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android-Lollipop屏幕固定功能可在同一应用程序中跨多个活动使用吗?

来自分类Dev

如何在git中同时使用同一应用程序的多个版本?

来自分类Dev

在同一应用程序中启动多个scotty服务器的最优雅方法是?

来自分类Dev

如何在 node.js 中禁止同一应用程序的多个实例?

来自分类Dev

Android:在同一应用程序中为其他用户测试Geofence

来自分类Dev

android中同一应用的多个实例

来自分类Dev

android中同一应用的多个实例

来自分类Dev

我们如何在同一应用程序中实现GCM以及解析通知?

来自分类Dev

在Android应用程序的GridView中,clickListener无法正常工作

来自分类Dev

GAE-针对不同客户的不同项目,还是针对不同客户的同一应用程序的不同版本?

来自分类Dev

多个Django数据库-将模型映射到同一应用程序中的数据库

来自分类Dev

如何让同一应用程序的多个版本使用相同版本的程序集?C#

来自分类Dev

轻按一个通知会清除同一应用程序中的所有其他通知-Phonegap插件推送

来自分类Dev

我可以将同一应用程序的多个版本提交到Apple Store吗?

来自分类Dev

Liquibase可以处理由同一应用程序管理的多个模式吗?

来自分类Dev

使用.NET多线程运行同一应用程序的多个实例

来自分类Dev

Ubuntu软件中心上同一应用程序的多个版本?

来自分类Dev

通过同一应用程序的多个kafka流实例读取规则集主题/分区

来自分类Dev

使用AspNetCoreModuleV2使用同一应用程序池托管多个.net核心

来自分类Dev

Firebase:将同一应用程序部署到多个Firebase项目

来自分类Dev

Ubuntu软件中心上同一应用程序的多个版本?

来自分类Dev

Liquibase可以处理由同一应用程序管理的多个模式吗?

来自分类Dev

使用.NET多线程运行同一应用程序的多个实例

来自分类Dev

如何通过任务栏从同一应用程序快速关闭多个窗口?

来自分类Dev

尝试查看同一应用程序的多个窗口时,Compiz(?)崩溃

来自分类Dev

使用dbus控制同一应用程序的多个实例?

来自分类Dev

是否可以在TestFlight上具有同一应用程序的多个版本?

来自分类Dev

同一应用程序服务器的多个实例导致2个问题

来自分类Dev

如何从在同一应用程序服务器上运行的应用程序中查找HornetQ实例?(AS7)(无法实例化InitialContextFactory)

Related 相关文章

  1. 1

    Android-Lollipop屏幕固定功能可在同一应用程序中跨多个活动使用吗?

  2. 2

    如何在git中同时使用同一应用程序的多个版本?

  3. 3

    在同一应用程序中启动多个scotty服务器的最优雅方法是?

  4. 4

    如何在 node.js 中禁止同一应用程序的多个实例?

  5. 5

    Android:在同一应用程序中为其他用户测试Geofence

  6. 6

    android中同一应用的多个实例

  7. 7

    android中同一应用的多个实例

  8. 8

    我们如何在同一应用程序中实现GCM以及解析通知?

  9. 9

    在Android应用程序的GridView中,clickListener无法正常工作

  10. 10

    GAE-针对不同客户的不同项目,还是针对不同客户的同一应用程序的不同版本?

  11. 11

    多个Django数据库-将模型映射到同一应用程序中的数据库

  12. 12

    如何让同一应用程序的多个版本使用相同版本的程序集?C#

  13. 13

    轻按一个通知会清除同一应用程序中的所有其他通知-Phonegap插件推送

  14. 14

    我可以将同一应用程序的多个版本提交到Apple Store吗?

  15. 15

    Liquibase可以处理由同一应用程序管理的多个模式吗?

  16. 16

    使用.NET多线程运行同一应用程序的多个实例

  17. 17

    Ubuntu软件中心上同一应用程序的多个版本?

  18. 18

    通过同一应用程序的多个kafka流实例读取规则集主题/分区

  19. 19

    使用AspNetCoreModuleV2使用同一应用程序池托管多个.net核心

  20. 20

    Firebase:将同一应用程序部署到多个Firebase项目

  21. 21

    Ubuntu软件中心上同一应用程序的多个版本?

  22. 22

    Liquibase可以处理由同一应用程序管理的多个模式吗?

  23. 23

    使用.NET多线程运行同一应用程序的多个实例

  24. 24

    如何通过任务栏从同一应用程序快速关闭多个窗口?

  25. 25

    尝试查看同一应用程序的多个窗口时,Compiz(?)崩溃

  26. 26

    使用dbus控制同一应用程序的多个实例?

  27. 27

    是否可以在TestFlight上具有同一应用程序的多个版本?

  28. 28

    同一应用程序服务器的多个实例导致2个问题

  29. 29

    如何从在同一应用程序服务器上运行的应用程序中查找HornetQ实例?(AS7)(无法实例化InitialContextFactory)

热门标签

归档