使用 React Native 从 tvOS (Apple TV) 上的远程"menu"按钮返回



我需要从 tvOS (Apple TV( 上的远程"菜单"按钮和 BackHandler 实现 React Native 不起作用。 我知道我必须使用 TVMenuControl 并禁用电视菜单键并返回,但即使文档说它应该有效,这也不起作用。

const backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to go back?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;

};

useEffect(() => {
BackHandler.addEventListener("hardwareBackPress", backAction);
return () =>
BackHandler.removeEventListener("hardwareBackPress", backAction);
}, []);

我该怎么做?

提前感谢, 克劳迪乌

您需要启用菜单按钮功能才能使代码正常工作

import {  TVMenuControl, BackHandler } from 'react-native';
....
useEffect(() => {
TVMenuControl.enableTVMenuKey();
BackHandler.addEventListener("hardwareBackPress", backAction);
return () => {
TVMenuControl.disableTVMenuKey();
BackHandler.removeEventListener("hardwareBackPress", backAction);
}
}, []);

最新更新