react-native BackHandler Does Not Work Google Pixel

yk9xbfzb  于 4个月前  发布在  React
关注(0)|答案(6)|浏览(119)

描述

详细信息:react-navigation/react-navigation#11227
在Google Pixel设备上,BackHandler似乎不起作用。

重现步骤

在Google Pixel 6+设备上使用back handler。

React Native版本

0.74

受影响的平台

运行时 - Android

npx react-native info的输出

System:
  OS: Windows 10 10.0.19045
  CPU: (20) x64 Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz
  Memory: 64.71 GB / 127.92 GB
Binaries:
  Node:
    version: 20.13.1
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 4.2.1
    path: C:\Program Files\nodejs\yarn.CMD
  npm:
    version: 10.5.2
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "29"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 32.0.0
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
    System Images:
      - android-29 | Google Play Intel x86 Atom
      - android-30 | Google Play Intel x86 Atom
      - android-31 | Google Play Intel x86_64 Atom
      - android-33 | Google Play Intel x86_64 Atom
      - android-34 | Google APIs Intel x86_64 Atom
    Android NDK: Not Found
  Windows SDK:
    AllowAllTrustedApps: Enabled
    AllowDevelopmentWithoutDevLicense: Enabled
    Versions:
      - 10.0.17763.0
IDEs:
  Android Studio: Not Found
  Visual Studio: Not Found
Languages:
  Java: 17.0.11
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.73.8
    wanted: 0.73.8
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

堆栈跟踪或日志

N/A

重现者

https://github.com/Roamer77/Android13backButtonBug

截图和视频

  • 无响应*
lnvxswe2

lnvxswe21#

⚠️添加或重新格式化版本信息
i️我们无法在您的问题报告中找到或解析React Native的版本号。请使用此模板,并报告您的版本,包括主要、次要和补丁编号 - 例如:0.70.2
qlzsbp2j

qlzsbp2j2#

⚠️缺失可复现示例
i️我们无法在您的问题报告中检测到可复现的示例。请提供以下内容:* 如果您的错误与UI相关:一个 Snack* 如果您的错误与构建/更新相关:使用我们的 Reproducer Template 。需要在您用户名下的GitHub仓库中有一个复现器。
2sbarzqh

2sbarzqh3#

看起来在谷歌Pixel设备上,BackHandler不起作用。
有几个问题:

  1. 你能澄清一下这里的"BackHandler"是什么意思吗?
  2. 你能指出你在复现器中管理返回手势的代码在哪里吗?
  3. 你能提供一个当前/预期行为的视频吗?
    请回答所有这些问题,我们将能够进一步调查。
6kkfgxo0

6kkfgxo04#

这个问题已经等待作者24天反馈。请提供所需的反馈,否则将在7天后关闭。

3b6akqbq

3b6akqbq5#

@cortinico To answer your questions:

  1. By BackHandler, I'm referring to handling the Android back button. When using React Navigation on non-Pixel devices, when the hardware back button is pressed it navigates to the previous screen. On Pixel devices it just closes the app.
  2. https://github.com/Roamer77/Android13backButtonBug (to test you can you the Android emulator or actual device). Any Pixel version works, I tested on Pixel 7 Pro API 34 & Pixel 6.
  3. Not shown in the video, on the Android emulator pressed the hardware back button
    Screen_recording_20240704_101748.webm
46qrfjad

46qrfjad6#

  1. 关于BackHandler,我指的是处理Android返回按钮。在使用React Navigation的非Pixel设备上,当按下硬件返回按钮时,它会导航到上一个屏幕。在Pixel设备上,它只是关闭应用程序。
  2. https://github.com/Roamer77/Android13backButtonBug(为了测试,你可以使用Android模拟器或实际设备)。任何Pixel版本都可以工作,我在Pixel 7 Pro API 34和Pixel 6上进行了测试。
  3. 在视频中没有显示,在Android模拟器上按下了硬件返回按钮
    Screen_recording_20240704_101748.webm
    我在其他设备上进行了双重检查。我的应用程序也出现了同样的情况。它只是关闭了应用程序,而不仅仅是针对Pixel设备。这是由运行它的Android版本决定的。在我的情况下,我使用了Android版本14进行测试。在Api 29上仍然可以正常工作,所以这是一个Android更改和React Native更新的混合。

相关问题