react-native-webrtc / react-native-webrtc/react-native-callkeep
Android: CallKeep answer/reject listeners not firing when app is killed (terminated state)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 511
- Avg merge
- 9h 12m
- Merged PRs (30d)
- 2
Description
I am using react-native-callkeep in a React Native application.
When the app is in foreground or background, incoming call UI appears and the answer and reject listeners work correctly.
However, when the app is in killed / terminated state, the incoming call screen is shown, but:
********SelfManaged=true(i am displaying my own calling UI only i am taking a callkeep notification popup) ************
answerCall listener is not triggered
endCall / reject listener is not triggered
The app is launched, but the JS listeners never receive the events
So basically:
✅ Works in foreground
✅ Works in background
❌ Does NOT work when app is killed
Expected Behavior:
When the app is killed and an incoming call arrives, tapping Answer or Reject should:
Trigger the respective CallKeep listeners
Notify the React Native JS side
Perform call start/end logic correctly
Actual Behavior:
Incoming call UI appears
App is opened
But no answerCall or endCall event is fired in JS
No callback is received
Environment:
Platform: Android
React Native version:0.81.2
react-native-callkeep version: 4.3.16
Android version: 10,11,12,13,14,....
Device: All device
Additional Notes:
The call UI is shown via native side while app is killed.
It seems the native module is invoked, but the JS bridge is not ready or the events are not queued/delivered when the app is cold-started.
Might be related to Headless JS / foreground service / broadcast receiver handling.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing Android CallKeep event delivery during a terminated-state launch, then inspect the native module alongside the mentioned Headless JS, foreground service, and broadcast receiver paths. Done means answerCall and endCall events reach the React Native JS listeners after tapping Answer or Reject from a cold start.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, javascript, react-native
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100