Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evanjmg/react-native-home-pressed
A React Native Module to capture your home and recent app button on Android
https://github.com/evanjmg/react-native-home-pressed
Last synced: about 2 months ago
JSON representation
A React Native Module to capture your home and recent app button on Android
- Host: GitHub
- URL: https://github.com/evanjmg/react-native-home-pressed
- Owner: evanjmg
- License: mit
- Created: 2018-02-23T17:21:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-11T11:24:28.000Z (about 1 year ago)
- Last Synced: 2024-11-29T13:57:47.348Z (about 2 months ago)
- Language: Java
- Homepage: https://www.npmjs.com/package/react-native-home-pressed
- Size: 22.5 KB
- Stars: 26
- Watchers: 4
- Forks: 12
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-react-native - react-native-home-pressed ★8 - Listen to home and recent app events for Android (Components / System)
- awesome-react-native - react-native-home-pressed ★8 - Listen to home and recent app events for Android (Components / System)
- awesome-react-native - react-native-home-pressed ★8 - Listen to home and recent app events for Android (Components / System)
- awesome-react-native - react-native-home-pressed ★8 - Listen to home and recent app events for Android (Components / System)
README
# react-native-home-pressed
## Getting started
`$ npm install react-native-home-pressed --save`
### Automatic installation (no further setup required)
`$ react-native link react-native-home-pressed`
### Manual installation
#### Android
1. Open up `android/app/src/main/java/[...]/MainActivity.java`
- Add `import com.evanjmg.RNHomePressedPackage;` to the imports at the top of the file
- Add `new RNHomePressedPackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
```
include ':react-native-home-pressed'
project(':react-native-home-pressed').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-home-pressed/android')
```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
```
compile project(':react-native-home-pressed')
```
## Events
- 'ON_HOME_BUTTON_PRESSED'
- 'ON_RECENT_APP_BUTTON_PRESSED' - that button that lists your apps## Usage
```javascript
import { DeviceEventEmitter } from 'react-native'class ExampleComponent extends Component {
...
componentDidMount() {
DeviceEventEmitter.addListener(
'ON_HOME_BUTTON_PRESSED',
() => {
console.log('You tapped the home button!')
})
}
...
}```
## TODOS
- Export event names and listener
- Support Other Buttons - e.g navigation button## Credit
Jack's Stackoverflow post - [https://stackoverflow.com/questions/8881951/detect-home-button-press-in-android]