当前位置: 首页 > 知识库问答 >
问题:

当应用程序被杀死时,没有调用onMessageReceed()?

高和通
2023-03-14
 <service android:name=".service.MyFirebaseInstanceIdService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>

    <service android:name=".service.FcmMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="promotions" />
public class FcmMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {

    if (remoteMessage == null)
        return;

    // Check if message contains a notification payload.
    if (remoteMessage.getNotification() != null) {
        Logger.v(Logger.TAG, "Notification Body: " + remoteMessage.getNotification().getBody());
    }

    // Check if message contains a data payload.
    if (remoteMessage.getData().size() > 0) {
        Logger.v(Logger.TAG, "Data Payload: " + remoteMessage.getData().toString());

        try {
            //JSONObject json = new JSONObject(remoteMessage.getData().toString());
            NotificationHandler.handleNotification(this, formNotificationObject(null));
        } catch (Exception e) {
            Logger.e(Logger.TAG, "Exception: " + e.getMessage());
        }
    }
}

private Notification formNotificationObject(JSONObject data) {
   //creating notifcation object here
  }
compile "com.google.firebase:firebase-messaging:11.4.2"
compile 'com.facebook.android:facebook-android-sdk:4.29.0'
compile "com.android.support:appcompat-v7:26.0.0"

有效载荷

{
  "to": "cogzTKfWsXI:APA9................plSjNu",
  "mutable_content": false,
  "time_to_live": 20,
  "data": {
   "messageid": 10,
   "title": "Test",
   "body": "Testing",
   "image": "",
   "expiry": "2018-11-13 11:35:11"
  }

}

共有1个答案

邹高峻
2023-03-14
    null
 类似资料:
  • 我在写一个玩家轮流参加的游戏。在一个回合结束时,我将我的数据发送到服务器,并更新我的数据库,让我知道现在轮到另一个玩家了。问题是,如果有人在中途扼杀了应用程序怎么办?我是说去找任务经理然后杀了它。 编辑:我还应该提到这是在一个片段中,我正在检查这个,但不要认为这会有什么不同。

  • 问题内容: 我正在用C / C ++ 创建子进程。 当父进程结束(或由于某种原因被杀死)时,我也希望所有子进程也被杀死。 这是系统自动完成的吗?还是我必须自己做? 谢谢。 问题答案: 否。如果父进程被杀死,则子进程将成为init进程的子进程(该进程的进程ID为1,并由内核作为第一个用户进程启动)。 初始化过程会定期检查新的子代,然后等待它们(从而释放由其返回值分配的资源)。

  • 我有一个要求,执行一个任务,在正好每5分钟。我考虑了多个选项,并尝试使用类来触发任务来实现这一点。但是,当应用程序被杀死时,我无法触发警报。 当应用程序打开或在后台运行时,警报似乎工作得完美无缺,但一旦我退出应用程序,它似乎完全停止了。 我的实现是使用函数,并自己处理重复这个过程。最初的警报在5秒后触发,然后在此之后每5分钟触发一次。 MyService.kt:

  • 我正在尝试构建一个实时聊天应用程序。 我已经整合了https://pub.dev/packages/flutter_local_notifications用于推送通知的软件包,这是有效的。 我没有使用Firebase,我正在使用我自己的自定义后端,使用https://socket.io/进行实时聊天。 我想在用户发送聊天信息时接收推送通知。推送通知在应用程序处于前台或后台时起作用。但是,当我从进程

  • 我当前正在使用此方法在收到来自发件人的消息时进行通知。 一切似乎都很好,但当我杀死应用程序,我没有收到通知。 我看到了一些关于它的答案,我应该使用数据消息和接收在但它不工作的kilded app。我该怎么办?