如何在收到消息时启动活动,即使应用程序已死(滑动)



在我的应用程序中,我需要通过自定义调用类型屏幕通知用户,他必须响应重要的业务决策,这非常重要,以至于他不介意它可能造成的不良用户体验。

我使用 FCM 数据消息,但是当应用程序从低于 6.0 的设备中的当前应用程序列表中滑出时,不会触发 onRecieve 方法。

现在我正在使用一个启动广播侦听器来收听收到的消息的服务,应用程序在其前台/后台时按预期工作,但是一旦它被刷出,服务就会停止,因为应用程序被杀死,但在 6.0 以上的设备中,应用程序不会被滑动杀死,这是我迄今为止的观察。

基本上,我正在寻找的服务即使您的应用程序被滑动也可以运行。我知道START_STICKY的事情,这无济于事。请帮助我。

您应该按照文档中的说明实现 FCM,并且每次数据消息到达时都应调用onMessageReceived()(即使应用程序被杀死或滑走(。

如果应用在滑动时未收到消息,则表示您的设备安装了非标准版本的Android

不幸的是,在这些设备上,这不是您的应用程序将遇到的唯一问题。

我的建议是联系制造商并向他们解释他们的定制正在破坏Android API。

更多信息:当应用程序被杀死时,未收到使用 FCM 的推送通知

android

确保您已按照文档中的说明在 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>

创建始终运行的前台服务(除非应用被强制关闭(Android - 为服务实现 startForeground?

相关内容

  • 没有找到相关文章

最新更新