【问题标题】:How to stop notification if app is in foreground如果应用程序在前台,如何停止通知
【发布时间】:2020-07-02 16:50:55
【问题描述】:

如果应用程序在前台,我不希望 android 系统显示推送通知。

相反,我想在应用中显示一些视图或启动活动。

这是我的代码。

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
  
       //...
       //...
      sendNotification(remoteMessage.getNotification(), subtitle);

}

如果我注释掉 sendNotification()method,它不会在后台和前台情况下显示通知。

【问题讨论】:

  • 添加生命周期支持并检查您的 Activity 是处于 Resumed 还是 Paused 状态,并在您的应用程序在后台运行时显示通知(Activity 处于 onPause 状态)
  • @MD : 在从 FirebaseMessagingService 扩展的类中添加生命周期支持的位置?
  • 在您的应用级别类或基础活动中没有

标签: android firebase android-layout firebase-cloud-messaging


【解决方案1】:

消息有数据消息和通知两种类型 消息。数据消息在这里处理在 onMessageReceived 是否 该应用程序位于前台或后台。数据消息是类型 传统上与 GCM 一起使用。只接收通知消息 当应用程序在前台时,在 onMessageReceived 中。当。。。的时候 应用程序在后台自动生成的通知是 显示。当用户点击他们返回的通知时 应用程序。包含通知和数据有效负载的消息是 视为通知消息。 Firebase 控制台始终发送 通知消息。

认为您只能在应用处于前台时处理通知。

解决方案:- 告诉你的服务器应用在前台和后台,当应用只在前台时他们会发送通知

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2019-04-04
    • 1970-01-01
    相关资源
    最近更新 更多