Android Studio Notification显示错误

时间:2017-08-22 19:53:34

标签: android push-notification android-notifications

我正在开发一个应用程序,它收到了来自Firbase的通知。当我收到它们时它没有正确显示它们。当我尝试更改图标时,它仍会显示启动器图标。此外,灯光和振动不起作用,inboxStyle也不起作用,它只显示另一个通知。我尝试过NotificationCompat.Builder和Notification.Builder,但是stil不起作用。我的代码显示通知:

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
        builder.setLights(Color.BLUE, 2000, 2000)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle(remoteMessage.getData().get("username"))
                .setContentText(remoteMessage.getNotification().getBody())
                .setVibrate(new long[]{0,500,0,500})
                .setWhen(remoteMessage.getSentTime())
                .setAutoCancel(true)
                .setStyle(styles)
                .setPriority(Notification.PRIORITY_HIGH)
                .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
                .setContentIntent(pendingIntent);

        notificationManager.notify(NOTIFICATION_ID, builder.build());

Firebase是否可能覆盖我的通知,或者这是不可能的?

1 个答案:

答案 0 :(得分:0)

行。我发现了我的问题。我通过Firebase云功能获取通知。但是我试图显示方法(onMessageRecieved)的方法仅在Appliction位于前台时才有效。所以我搜索了一下,我发现我必须覆盖handleIntent(Intent intent)方法,当应用程序在后台时也可以。我不得不在我的代码中更改了Firebase云功能(将相关数据添加到通知中的数据部分),然后我可以通过intent.getStringExtra("String")从意图中接收数据 。现在它工作正常。