react-native-screenguard
Version:
A Native screenshot blocking library for React-Native developer, with background customizable after captured. Screenshot detector are also supported.
52 lines (49 loc) • 1.36 kB
text/typescript
import { TurboModule, TurboModuleRegistry } from 'react-native';
export interface Spec extends TurboModule {
initSettings: (data: {
enableCapture: boolean;
enableRecord: boolean;
enableContentMultitask: boolean;
displayScreenGuardOverlay?: boolean;
displayScreenguardOverlayAndroid?: boolean;
timeAfterResume?: number;
getScreenshotPath?: boolean;
limitCaptureEvtCount?: number;
trackingLog?: boolean;
}) => Promise<void>;
activateShield: (data: {
backgroundColor: string;
}) => Promise<void>;
activateShieldWithoutEffect: () => Promise<void>;
activateShieldWithBlurView: (data: {
radius: number;
}) => Promise<void>;
activateShieldWithImage: (data: {
source: {
uri: string;
};
defaultSource: {
uri: string;
};
width: number;
height: number;
alignment?: number;
top?: number;
left?: number;
bottom?: number;
right?: number;
backgroundColor: string;
}) => Promise<void>;
deactivateShield: () => Promise<void>;
getScreenGuardLogs: (maxCount: number) => Promise<
Array<{
timestamp: number;
action: string;
isActivated: boolean;
method: string;
}>
>;
addListener: (eventName: string) => void;
removeListeners: (count: number) => void;
}
export default TurboModuleRegistry.get<Spec>('ScreenGuard');