- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 list -
<service
android:name=".RegistrationIntentService"
android:exported="false" />
<service
android:name=".TestGcmListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.test" />
</intent-filter>
</service>
<service
android:name=".RegistrationIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.test" />
</intent-filter>
</receiver>
并遵循 onMessageReceived
方法 -
@Override
public void onMessageReceived(String from, Bundle data) {
ObjectMapper objectMapper = new ObjectMapper();
Message message;
try {
message = objectMapper.readValue(String.valueOf(data.get("message")), Message.class);
MessageNotification.notify(this, message, 1);
} catch (IOException e) {
e.printStackTrace();
}
}
发生的事情是,onMessageReceived
仅在应用程序处于前台时才被调用。否则它不会被调用并且不会显示通知。当我打开应用程序时,所有通知都会立即显示。
如果锁定并执行工作,GcmListenereService
不会唤醒设备吗?如何解决这个问题?
最佳答案
Google 搜索并设法在 github 上找到这个线程,它与您关注的问题几乎相同,其中 onMessageReceived() is only called when app is on foreground .原因是因为只发送了通知消息。根据线程中包含的描述:
Notification Messages - these are intended to generate a notification with no intermediate processing by the application. They only hit onMessageReceived if the app is running.
Data Messages - these are intended to silently pass data to the app's messaging service. They hit onMessageReceived even if the app is in the background. The service may then choose to generate a notification using the normal system notification APIs, or it may choose to handle the message silently.
我认为您正在发送通知消息,同时期待数据消息的行为开始。
这也是 SO post of Shiprack在github线程中提到。希望这可以帮助。祝你好运。
关于android - GcmListenerService onMessageReceived 仅在应用程序处于前台时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36477182/
我创建了一个应用程序,当收到来自 FCM 的消息时,该应用程序会启动警报。该应用程序在前台、后台或 Activity 关闭时都可以正常工作。 但是当手机长时间处于 sleep 模式时(不知 Prop
这是我设置工具栏 (MainActivity) 的方法。 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuIn
我正在关注 this在我的 Android 设备上接收推送通知的教程。 我可以从 Firebase 控制台发送推送通知 - 我也可以在 logcat 中看到 Firebase 事件,但我的 onMes
首先,这不是因为应用程序在后台。 通知与数据消息负载一起发送。在 Play 控制台中,它表示消息已“已确认”,因此它们正在到达设备。对于大多数用户,onMessageReceived 方法被调用,但对
我正在使用以下代码接收通过 firebase 控制台发送的 fcm 消息,但从未调用此函数。相反,当应用程序处于后台时,我能够在我的启动器类中接收消息,但是当应用程序处于前台时,我无法获取它。 pub
这个问题在这里已经有了答案: Does FirebaseMessagingService run in the background by default? (2 个答案) 关闭 4 年前。 Fir
我正在使用适用于 Android 的 Firebase 云消息传递。当我的应用程序位于前台时,FCM 将在我的应用程序的 FirebaseMessagingService 子类上调用 onMessag
我实现了Huawei Push Kit。 onNewToken 在应用启动后调用。我想使用 onMessageReceived。 当我向客户端发送推送通知时,推送通知会出现在 android 上,但不
我使用 WSO2 作为我的身份提供者 (IDP)。它将 JWT 放在名为“X-JWT-Assertion”的 header 中。 为了将它输入 ASP.NET Core 系统,我添加了一个 OnMes
我刚刚开始使用 Firebase Cloud Messaging,并在 Manifest 中设置了所有依赖项、Firebase 服务及其服务标签。 从控制台发送消息时,会检测到目标用户,但应用程序不会
我正在尝试“捕获”发送到应用程序的 firebase 云消息,当我收到(/单击)一条消息时,我想根据在 firebase 控制台中添加的“自定义数据”键/值执行一些操作。 我的代码现在是这样的: My
我正在尝试实现 GCM。一切正常,除了 onMessageReceived() 方法仅在应用程序运行时被调用。 我搜索了解决方案,但找不到与我相匹配的案例。我的 GCM 请求正文仅包含“to”和“da
我有以下 list - 并遵循 on
我正在尝试从服务器向我的应用程序获取消息。我有这个服务器 url,它向所有用户发送消息: https://taub-prayer-ramym.c9.io/send?message=123 我的应用程序
实际上我需要在应用程序图标中显示徽章,但我不知道如何获取徽章以及为什么当应用程序处于后台或应用程序未运行时 onMessageReceived 不调用。 public class Custom_Fir
我已经清楚地阅读了很多关于 firebase 推送通知行为的文档。当我的应用程序处于后台时,我可以在系统托盘上看到通知,但当应用程序处于前台时,我不会触发 onMessageReceived 回调。我
当应用程序通过点击通知处于前台或后台时,应用程序调用 onMessageReceived 事件。我使用 click_action 通知。对吗? 我在应用程序位于前台时创建一个通知,当我点击该通知时它会
我正在尝试在收到 fcm 消息且 APP 处于后台时显示通知。我尝试了不同风格的通知,但没有运气。通知不会显示 这是代码 public void onMessageReceived(RemoteMes
我正在制作必须显示推送通知的应用程序。我可以正确注册 token 并在 FirebaseMessageService remoteMessage 中获取数据。但它没有显示通知。我想检查类型。如果 ty
正如您在标题中所写,当应用程序关闭时它运行良好并且 onMessageReceived 获取消息正文和标题但是如果应用程序处于前台模式(运行模式)则通知可以发送但没有消息和标题! 请问怎么办? 代码:
我是一名优秀的程序员,十分优秀!