如何在收到消息时启动 activity,即使应用已死(滑动)?
How to start an activity when a message is received, even if app is dead (swiped away)?
在我的应用程序中,我需要使用自定义呼叫类型屏幕通知用户,他必须在其中响应重要的业务决策,这非常重要,以至于他不介意它可能导致的糟糕用户体验。
我使用 FCM 数据消息,但是当应用从 6.0 以下设备的当前应用列表中滑出时,不会触发 onRecieve 方法。
现在我正在使用启动广播侦听器来侦听接收到的消息的服务,应用程序在 foreground/background 时按预期工作,但是一旦它被刷掉,服务就会随着应用程序被终止而停止,但是在6.0以上的设备上应用程序不会被滑动杀死,这是我目前的观察。
基本上,我正在寻找的是一种服务,即使您的应用被刷掉,也可以 运行。我知道 START_STICKY
件事,但没有帮助。请帮助我。
创建始终保持 运行 的前台服务(应用程序被强制关闭时除外)
Android - implementing startForeground for a service?
确保您已按照文档中的说明在 Android.manifest 中注册了您的服务。这将仅在收到消息时启动您的服务。您不需要经常使用服务 运行。
https://firebase.google.com/docs/cloud-messaging/android/receive
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
您应该按照文档中的描述实施 FCM,并且每次数据消息到达时都应该调用 onMessageReceived()
(即使应用程序被终止或被刷掉)。
如果应用程序在滑动时没有收到消息,则表示您的设备安装了非标准版本的Android。
不幸的是,在这些设备上,这不是您的应用会遇到的唯一问题。
我的建议是联系制造商并向他们解释他们的定制破坏了 Android API。
更多信息:
Push notifications using FCM not received when app is killed android
在我的应用程序中,我需要使用自定义呼叫类型屏幕通知用户,他必须在其中响应重要的业务决策,这非常重要,以至于他不介意它可能导致的糟糕用户体验。
我使用 FCM 数据消息,但是当应用从 6.0 以下设备的当前应用列表中滑出时,不会触发 onRecieve 方法。
现在我正在使用启动广播侦听器来侦听接收到的消息的服务,应用程序在 foreground/background 时按预期工作,但是一旦它被刷掉,服务就会随着应用程序被终止而停止,但是在6.0以上的设备上应用程序不会被滑动杀死,这是我目前的观察。
基本上,我正在寻找的是一种服务,即使您的应用被刷掉,也可以 运行。我知道 START_STICKY
件事,但没有帮助。请帮助我。
创建始终保持 运行 的前台服务(应用程序被强制关闭时除外) Android - implementing startForeground for a service?
确保您已按照文档中的说明在 Android.manifest 中注册了您的服务。这将仅在收到消息时启动您的服务。您不需要经常使用服务 运行。
https://firebase.google.com/docs/cloud-messaging/android/receive
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
您应该按照文档中的描述实施 FCM,并且每次数据消息到达时都应该调用 onMessageReceived()
(即使应用程序被终止或被刷掉)。
如果应用程序在滑动时没有收到消息,则表示您的设备安装了非标准版本的Android。
不幸的是,在这些设备上,这不是您的应用会遇到的唯一问题。
我的建议是联系制造商并向他们解释他们的定制破坏了 Android API。
更多信息: Push notifications using FCM not received when app is killed android