A cros-platform bridge that allows you to enable and disable the screen idle timer in your React Native app
npm install @liukai2_p/react-native-idle-timerA cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app
yarn add react-native-idle-timer
#### Automatically
react-native link react-native-idle-timer
#### Manually
##### iOS
1. In the XCode's "Project navigator", right click on your project's Libraries folder ➜ Add Files to <...>
2. Go to node_modules ➜ react-native-idle-timer ➜ ios ➜ select RNIdleTimer.xcodeproj
3. Add libRNIdleTimer.a to Build Phases -> Link Binary With Libraries
##### Android
1. in android/settings.gradle
``gradle`
...
include ':react-native-idle-timer'
project(':react-native-idle-timer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-idle-timer/android')
2. in android/app/build.gradle add:
`gradle`
dependencies {
...
compile project(':react-native-idle-timer')
}
3. and finally, in android/src/main/java/com/{YOUR_APP_NAME}/MainActivity.java add:
`java
//...
import com.marcshilling.idletimer.IdleTimerPackage; // <--- This!
//...
@Override
protected List
return Arrays.
new MainReactPackage(),
new IdleTimerPackage() // <---- and This!
);
}
`
`javascript`
import IdleTimerManager from 'react-native-idle-timer';
Class component
`javascript
componentWillMount() {
IdleTimerManager.setIdleTimerDisabled(true);
}
componentWillUnmount() {
IdleTimerManager.setIdleTimerDisabled(false);
}
`
Function component
`javascript
useEffect(() => {
IdleTimerManager.setIdleTimerDisabled(true);
return () => IdleTimerManager.setIdleTimerDisabled(false);
}, [])
`
`javascript
useEffect(() => {
IdleTimerManager.setIdleTimerDisabled(true, "video");
return () => IdleTimerManager.setIdleTimerDisabled(false, "video");
}, [])
`
Android
`java`
IdleTimerManager.activate(activity, "video");
IdleTimerManager.deactivate(activity, "video");
iOS
`objectivec``
[IdleTimerManager activate:@"video"];
[IdleTimerManager deactivate:@"video"];