A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app
Java Ruby Objective-C JavaScript
Switch branches/tags
Nothing to show
Clone or download

README.md

react-native-idle-timer

A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app

Install

npm install react-native-idle-timer@latest --save

Link

Automatically

react-native link

Manually

iOS
  1. In the XCode's "Project navigator", right click on your project's Libraries folder ➜ Add Files to <...>
  2. Go to node_modulesreact-native-idle-timerios ➜ select RNIdleTimer.xcodeproj
  3. Add libRNIdleTimer.a to Build Phases -> Link Binary With Libraries
Android
  1. in android/settings.gradle
...
include ':react-native-idle-timer'
project(':react-native-idle-timer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-idle-timer/android')
  1. in android/app/build.gradle add:
dependencies {
  ...
  compile project(':react-native-idle-timer')
}
  1. and finally, in android/src/main/java/com/{YOUR_APP_NAME}/MainActivity.java add:
//...
import com.marcshilling.idletimer.IdleTimerPackage; // <--- This!

//...
@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
    new MainReactPackage(),
    new IdleTimerPackage() // <---- and This!
  );
}

Usage

  1. In your React Native javascript code, bring in the native module:
import IdleTimerManager from 'react-native-idle-timer';
  1. To disable the idle timer on a specific view component:
componentWillMount() {
  IdleTimerManager.setIdleTimerDisabled(true);
}

componentWillUnmount() {
  IdleTimerManager.setIdleTimerDisabled(false);
}