firebase / firebase/firebase-android-sdk

Receiver not registered in SyncTask$ConnectivityChangeReceiver persists in firebase-messaging 25.0.1 on Android 16

Open
#8,606 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.6k
Forks
710
Avg merge
2d 9h
Merged PRs (30d)
31

Description

Hi Firebase team,

We are still seeing the same crash reported in this issue after applying the fix
released with BoM 30.11.0.

Environment:
- Firebase Messaging resolved version: 25.0.1
- FlutterFire firebase_messaging: 16.0.4
- targetSdkVersion: 36
- App version: 1.9.30 (10930)

Crash:
java.lang.RuntimeException: Error receiving broadcast Intent
Caused by: java.lang.IllegalArgumentException: Receiver not registered:
com.google.firebase.messaging.SyncTask$ConnectivityChangeReceiver
at android.app.LoadedApk.forgetReceiverDispatcher(...)
at android.app.ContextImpl.unregisterReceiver(...)
at android.content.ContextWrapper.unregisterReceiver(...)
at com.google.firebase.messaging.SyncTask$ConnectivityChangeReceiver.onReceive(...)

We verified that firebase-messaging 25.0.1 already contains the receiverContext
change introduced by the fix for this issue. The crash still occurs at:

receiverContext.unregisterReceiver(this)

Crashlytics data for this release:
- 52 crash events
- 100% occurred while the app was in the background
- 79% on Android 16
- 65% on Samsung devices

We also checked firebase-messaging 25.1.3 and the receiver is still unregistered
without handling IllegalArgumentException.

Could you please reopen this issue and advise whether there is a known Android 16 /
Samsung-specific cause, a further fix, or an officially supported workaround?

Thank you.

Contributor guide

Open the contributing guide

Research direction

Start by inspecting SyncTask$ConnectivityChangeReceiver, especially the receiverContext.unregisterReceiver(this) call, and compare firebase-messaging 25.0.1 with 25.1.3. Reproduce the background crash on Android 16, particularly on Samsung devices, using the reported target SDK and dependency versions. Done means identifying the cause and providing a verified fix or officially supported workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, firebase, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.