Skip to content

A simple react native plugin to achieve kiosk mode (immersive mode) on android

License

Notifications You must be signed in to change notification settings

sciphergfx/react-native-kiosk-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is no longer maintained

React native kiosk mode functionality for Android

A simple react native plugin to achieve kiosk mode (immersive mode) on android

Props: KioskMode
import {Immersive} from 'react-native-kiosk-mode'

<View>
    <Immersive />
    <RootContainer />
</View>

Android Installation

Install the npm package react-native-kiosk-mode. Inside your React Native project, run (example):

npm install --save react-native-kiosk-mode

In android/settings.gradle, remove the line include ':app' and add the following lines

include ':react-native-kiosk-mode'
project(':react-native-kiosk-mode').projectDir = file('../node_modules/react-native-kiosk-mode/android')

NOTE : If you have included other libraries in your project, the include line will contain the other dependencies too.

In android/app/build.gradle, add a dependency to ':react-native-kiosk-mode'

dependencies {
    compile project(':react-native-kiosk-mode')
}

Next, you need to change the MainApplication of your app to register KioskModeModule :

import com.rn.kiosk.mode.KioskModeModule;  // add this import

public class MainApplication extends Application implements ReactApplication {
    //...

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
          new KioskModeModule() // add this manager
      );
    }

Next, you need to add the onWindowFocusChanged function to your Apps MainActivity.java :

import android.view.View;// add this import
 //...

public class MainActivity extends ReactActivity {
     //...
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
            super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            getWindow().getDecorView()
        .setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
         }
    }
}

Android kiosk mode for react native by Seyi Ogunbowale


About

A simple react native plugin to achieve kiosk mode (immersive mode) on android

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •