我如何 exit/shut 关闭 React Native 应用程序?
How do I exit/shut down a React Native app?
如果我的 React Native 应用程序无法连接到其后端,我会显示带有确定按钮的警报。如果发生这种情况,应用程序继续 运行 就没有意义了,所以我想在单击按钮时将其关闭。我该怎么做?
我怀疑密钥在 AppRegistry 中,但文档有点不足。
今天没有 react-native 执行此操作的具体方法。您必须从事物的本机方面完成此操作。
此外,您正在为 iOS 开发吗? Apple 已声明应用程序不应自行关闭。
对于Android,使用BackHandler退出应用程序:
import React, { BackHandler } from 'react-native';
BackHandler.exitApp();
编写一个本机模块,在调用时执行以下操作:
IOS:
exit(9);
ANDROID:
((YourApplication) self.getApplicationContext()).kill();
...编辑...
或者只使用我创建的那个:https://www.npmjs.com/package/react-native-exit-app
我是这样实现的:
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
BackHandler.exitApp();
return true;
}
我回答这个问题太晚了,但我认为我选择的方式可能会对某人有所帮助,所以我回答这个问题。
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}
backPressed = () => {
Alert.alert(
'Exit App',
'Do you want to exit?',
[
{text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
{text: 'Yes', onPress: () => BackHandler.exitApp()},
],
{ cancelable: false });
return true;
}
这个 npm 模块帮助我解决了同样的问题 - react-native-exit-app
import RNExitApp from 'react-native-exit-app';
...
RNExitApp.exitApp();
...
仅限Android
后退退出
import { BackHandler } from "react-native";
useEffect(() => {
BackHandler.addEventListener("hardwareBackPress",()=>{
BackHandler.exitApp();
});
}, []);
如果我的 React Native 应用程序无法连接到其后端,我会显示带有确定按钮的警报。如果发生这种情况,应用程序继续 运行 就没有意义了,所以我想在单击按钮时将其关闭。我该怎么做?
我怀疑密钥在 AppRegistry 中,但文档有点不足。
今天没有 react-native 执行此操作的具体方法。您必须从事物的本机方面完成此操作。
此外,您正在为 iOS 开发吗? Apple 已声明应用程序不应自行关闭。
对于Android,使用BackHandler退出应用程序:
import React, { BackHandler } from 'react-native';
BackHandler.exitApp();
编写一个本机模块,在调用时执行以下操作:
IOS:
exit(9);
ANDROID:
((YourApplication) self.getApplicationContext()).kill();
...编辑...
或者只使用我创建的那个:https://www.npmjs.com/package/react-native-exit-app
我是这样实现的:
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
BackHandler.exitApp();
return true;
}
我回答这个问题太晚了,但我认为我选择的方式可能会对某人有所帮助,所以我回答这个问题。
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}
backPressed = () => {
Alert.alert(
'Exit App',
'Do you want to exit?',
[
{text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
{text: 'Yes', onPress: () => BackHandler.exitApp()},
],
{ cancelable: false });
return true;
}
这个 npm 模块帮助我解决了同样的问题 - react-native-exit-app
import RNExitApp from 'react-native-exit-app';
...
RNExitApp.exitApp();
...
仅限Android 后退退出
import { BackHandler } from "react-native";
useEffect(() => {
BackHandler.addEventListener("hardwareBackPress",()=>{
BackHandler.exitApp();
});
}, []);