This repository will not longer be maintained, because I don't use React Native anymore. Feel free to fork it and continue to develop/maintain it.
A react native android module for obscuring applications when switching applications and preventing taking screenshots of the application.
$ npm install react-native-obscure --save
$ yarn add react-native-obscure
$ react-native link react-native-obscure
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.diegofhg.obscure.ObscurePackage;
to the imports at the top of the file - Add
new ObscurePackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-obscure' project(':react-native-obscure').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-obscure/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-obscure')
You can use it programmatically for activating/deactivating the obscuring at any time, use it app-wide or per component.
activateObscure
: Activates the obscuring.
deactivateObscure
: Deactivate the obscuring.
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import Obscure from 'react-native-obscure';
export default class App extends Component {
componentWillMount() {
Obscure.activateObscure();
}
componentWillUnmount() {
Obscure.deactivateObscure();
}
render() {
return(
<View>
<Text>This text will be obscured when changing apps</Text>
</View>
);
}
}
- Add iOS support.