提问者:小点点

设备重启后Android推送通知


我使用FirebaseMessagingService来处理传入的通知。 当我的应用程序处于前台和后台时,消息正在到达。 当我刷出应用程序时,通知正在到达。 但如果我重新启动设备,只有在我运行应用程序之前,通知才会收到。 同样,Telegram和WhatsApp在重启后也会继续收到通知。 我已经实现了onNewToken()方法,并添加了向服务器发送新令牌的逻辑,但这并没有帮助。 如何在重新启动后继续接收通知?


共2个答案

匿名用户

它们有一个后台服务,在启动时启动服务。 您需要实现这样的服务。 会增加电池消耗。 这也许能帮到你。

匿名用户

实际上,如果您想在重启后启动服务,那么您必须添加intent-filter操作。 尝试在您的intent-filter中添加BOOT_COMPLETED操作。 在清单的行下面添加。 但是基本上对于Firebase通知,不需要添加这个动作。

<service
        android:name=".common.service.NotificationService"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:process=":notification_service">
        <intent-filter>
            <action android:name="com.abc.xyz.restart_service" />
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>