From f69422a61c8364b985a77f392e1b0e5233881f2c Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 1 Sep 2025 12:16:31 +0800 Subject: [PATCH] fix: conditional Back key interception on Android (#1942) --- .../src/app/reader/components/Reader.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/readest-app/src/app/reader/components/Reader.tsx b/apps/readest-app/src/app/reader/components/Reader.tsx index bf7b1dc4..d621fe14 100644 --- a/apps/readest-app/src/app/reader/components/Reader.tsx +++ b/apps/readest-app/src/app/reader/components/Reader.tsx @@ -51,12 +51,6 @@ const Reader: React.FC<{ ids?: string }> = ({ ids }) => { setTimeout(getSysFontsList, 3000); } initDayjs(getLocale()); - - acquireBackKeyInterception(); - return () => { - releaseBackKeyInterception(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const handleKeyDown = (event: CustomEvent) => { @@ -74,6 +68,15 @@ const Reader: React.FC<{ ids?: string }> = ({ ids }) => { return false; }; + useEffect(() => { + if (!appService?.isAndroidApp) return; + acquireBackKeyInterception(); + return () => { + releaseBackKeyInterception(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [appService?.isAndroidApp]); + useEffect(() => { if (!appService?.isAndroidApp) return; eventDispatcher.onSync('native-key-down', handleKeyDown);