react-native/docs/backhandler.md

84 lines
1.6 KiB
Markdown
Raw Normal View History

---
id: backhandler
title: BackHandler
layout: docs
category: APIs
permalink: docs/backhandler.html
next: cameraroll
previous: backhandler
---
Detect hardware button presses for back navigation.
Android: Detect hardware back button presses, and programmatically invoke the default back button
functionality to exit the app if there are no listeners or if none of the listeners return true.
tvOS: Detect presses of the menu button on the TV remote. (Still to be implemented:
programmatically disable menu button handling
functionality to exit the app if there are no listeners or if none of the listeners return true.)
iOS: Not applicable.
The event subscriptions are called in reverse order (i.e. last registered subscription first),
and if one subscription returns true then subscriptions registered earlier will not be called.
Example:
```javascript
BackHandler.addEventListener('hardwareBackPress', function() {
// this.onMainScreen and this.goBack are just examples, you need to use your own implementation here
// Typically you would use the navigator here to go to the last state.
if (!this.onMainScreen()) {
this.goBack();
return true;
}
return false;
});
```
### Methods
- [`exitApp`](docs/backhandler.html#exitapp)
- [`addEventListener`](docs/backhandler.html#addeventlistener)
- [`removeEventListener`](docs/backhandler.html#removeeventlistener)
---
# Reference
## Methods
### `exitApp()`
```javascript
static exitApp()
```
---
### `addEventListener()`
```javascript
static addEventListener(eventName, handler)
```
---
### `removeEventListener()`
```javascript
static removeEventListener(eventName, handler)
```