react / react/react-native

bug: back handler stops working after re-foregrounding the app

Offen
#54,887 7 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs: Triage :mag:
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
  1. Start the app
  2. Press the button at the top
  3. Do a back gesture and observe that it respects the back handler
  4. Do another one to go home
  5. Re-open the app
  6. Press the button at the top again
  7. 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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.