a simply and easy to use screenshot detector for react native.
yarn
yarn add @yplabs-ltd/react-native-detectornpm
npm install @yplabs-ltd/react-native-detectorcd ios && pod installfor Android you need to have access for READ_EXTERNAL_STORAGE to detect screenshots by user to do that you just need to add this line in AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />and get user permission
import { PermissionsAndroid } from 'react-native';
//...
const requestPermission = async () => {
await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
{
title: 'Get Read External Storage Access',
message: 'get read external storage access for detecting screenshots',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK',
}
);
};import {
addScreenshotListener,
addScreenrecordListener,
} from '@yplabs-ltd/react-native-detector';
// ...
React.useEffect(() => {
const userDidScreenshot = () => {
console.log('User took screenshot');
};
const unsubscribe = addScreenshotListener(userDidScreenshot);
return () => {
unsubscribe();
};
}, []);| Status | Goal |
|---|---|
| ✅ | iOS version of screenshot detector |
| ✅ (Thanks to @mhssn95) | Android version of screenshot detector |
| ✅ | IOS Screen recording detecting |
| ✅ | Android Screen recording detecting |
| 🚧 | Calls detector |
Based on the project react-native-detector to develop more. See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT