@sekizlipenguen/react-native-app-exit
Version:
A lightweight React Native module to programmatically exit or restart the application. Compatible with React Native 0.60 and above.
136 lines (91 loc) • 3.32 kB
Markdown

[](https://www.npmjs.com/package/@sekizlipenguen/react-native-app-exit)
[](https://www.npmjs.com/package/@sekizlipenguen/react-native-app-exit)
# @sekizlipenguen/react-native-app-exit
A lightweight React Native module to programmatically exit or restart the application. Compatible with React Native 0.60 and above.
## Installation
Using npm:
```bash
npm install @sekizlipenguen/react-native-app-exit
```
Using yarn:
```bash
yarn add @sekizlipenguen/react-native-app-exit
```
### iOS Setup
After installing the package, make sure to run the following command to link the native iOS module:
```bash
npx pod-install
```
### Android Setup
No additional setup is required for Android. The module will automatically link when you build your app.
## Compatibility
- **React Native**: `>=0.60`
- **iOS**: Supported
- **Android**: Supported
- **JavaScript and TypeScript**: Fully supported
## Usage
### Import the Module
```javascript
import ReactNativeAppExit from '@sekizlipenguen/react-native-app-exit';
```
### Exit the Application
Call the `exitApp` method to programmatically close the app:
```javascript
ReactNativeAppExit.exitApp();
```
### Restart the Application
Call the `restartApp` method to programmatically restart the app:
```javascript
ReactNativeAppExit.restartApp();
```
#### Example:
```javascript
import React from 'react';
import {Button, View, Alert} from 'react-native';
import ReactNativeAppExit from '@sekizlipenguen/react-native-app-exit';
const App = () => {
const handleExitApp = () => {
Alert.alert(
'Exit App',
'Are you sure you want to close the application?',
[
{text: 'Cancel', style: 'cancel'},
{text: 'Yes', onPress: () => ReactNativeAppExit.exitApp()},
]
);
};
const handleRestartApp = () => {
Alert.alert(
'Restart App',
'Are you sure you want to restart the application?',
[
{text: 'Cancel', style: 'cancel'},
{text: 'Yes', onPress: () => ReactNativeAppExit.restartApp()},
]
);
};
return (
<View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
<Button title="Exit App" onPress={handleExitApp}/>
<Button title="Restart App" onPress={handleRestartApp}/>
</View>
);
};
export default App;
```
## Platform-Specific Details
### Android
- On Android, this module uses `System.exit(0)` to force the application to close.
### iOS
- On iOS, force-closing the app programmatically is not recommended by Apple. This module provides a similar functionality, but it is advised to implement a confirmation alert before using this feature to ensure a better user experience.
## Contribution
Contributions are welcome! Please feel free to submit a pull request or file an issue in the [GitHub repository](https://github.com/sekizlipenguen/react-native-app-exit).
## License
This project is licensed under the [MIT License](LICENSE).