bug: back handler stops working after re-foregrounding the app
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 127k
- Forks
- 25.3k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
Description
back handlers seem to stop working after sending the app to the background - all back gestures (except in Modals) just close the app instead. see the video below for a clearer demonstration.
I'm using the Android 16 QPR2 beta (BP41.250916.015.A1) on a Pixel 8.
I can reproduce this using either the @react-native-community/hooks hook or the usage example in the BackHandler docs. the hook works fine in React Native v0.80 (I assume because the target SDK was still 35?).
Steps to reproduce
- Start the app
- Press the button at the top
- Do a back gesture and observe that it respects the back handler
- Do another one to go home
- Re-open the app
- Press the button at the top again
- Do another back gesture and observe that it exits out of the app instead of respecting the back handler
React Native Version
0.83.0
Affected Platforms
Runtime - Android, Build - Linux
Output of npx @react-native-community/cli info
System:
OS: Linux 6.17 Ubuntu 25.10 25.10 (Questing Quokka)
CPU: (8) x64 Intel(R) Core(TM) Ultra 7 256V
Memory: 4.46 GB / 14.72 GB
Shell:
version: 5.2.37
path: /bin/bash
Binaries:
Node:
version: 24.5.0
path: /home/rexo/.nvm/versions/node/v24.5.0/bin/node
Yarn:
version: 4.12.0
path: /home/rexo/.nvm/versions/node/v24.5.0/bin/yarn
npm:
version: 11.5.1
path: /home/rexo/.nvm/versions/node/v24.5.0/bin/npm
Watchman: Not Found
SDKs:
Android SDK:
API Levels:
- "31"
- "35"
- "36"
Build Tools:
- 34.0.0
- 35.0.0
- 35.0.1
- 36.0.0
System Images:
- android-35 | Google APIs Intel x86_64 Atom
- android-35 | Google Play Intel x86_64 Atom
- android-36 | Google Play Intel x86_64 Atom
Android NDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java:
version: 17.0.17
path: /usr/bin/javac
Ruby: Not Found
npmPackages:
"@react-native-community/cli":
installed: 20.0.0
wanted: 20.0.0
react:
installed: 19.2.0
wanted: 19.2.0
react-native:
installed: 0.83.0
wanted: 0.83.0
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: false
Stacktrace or Logs
N/A
MANDATORY Reproducer
https://github.com/Rexogamer/backhandler-test
Screenshots and Videos
https://github.com/user-attachments/assets/a48256a0-d956-446d-b5da-1ceccc824d91
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem im Issue verlinkten obligatorischen Reproducer und dem Beispiel zur Verwendung von BackHandler und führe es unter Android 16 QPR2 mit React Native 0.83 aus. Vergleiche das Verhalten des Zurück-Handlers, bevor die App in den Hintergrund verschoben wird, und nachdem sie erneut geöffnet wurde. Als abgeschlossen gilt die Aufgabe, wenn registrierte Handler weiterhin ausgeführt werden, nachdem die App in den Vordergrund zurückkehrt, anstatt dass die Zurück-Geste die App beendet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- react-native
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100