Web Analytics
Nhảy tới nội dung

useSGScreenRecord MỚI ✨

Phiên bản

Khả dụng từ v2.0.0+

Một React hook để phát hiện các sự kiện quay màn hình. Thay thế cho registerScreenRecordingEventListener từ phiên bản v1.x.

Hỗ trợ nền tảng:

  • iOS 13+
  • Android 15+ (API 35+)

Core Function

function useSGScreenRecord(
listener?: (event: ScreenGuardScreenRecordDataObject) => void
): {
recordingData: ScreenGuardScreenRecordDataObject | null;
activationStatus: ScreenGuardHookData | null;
}

Tham số

TênBắt buộcKiểuMô tả
listenerKhôngfunctionMột hàm callback tùy chọn được kích hoạt khi trạng thái quay màn hình thay đổi

Giá trị trả về

TênKiểuMô tả
recordingDatađối tượng | nullDữ liệu về trạng thái quay màn hình hiện tại
activationStatusđối tượng | nullTrạng thái kích hoạt hiện tại của ScreenGuard

Đối tượng recordingData

interface ScreenGuardScreenRecordDataObject {
isRecording?: boolean;
}
TrườngKiểuMô tả
isRecordingboolean | undefinedtrue khi quá trình quay màn hình bắt đầu, false khi quá trình quay màn hình dừng lại. undefined trước khi có bất kỳ sự kiện quay màn hình nào xảy ra

Đối tượng activationStatus

interface ScreenGuardHookData {
method: string;
isActivated: boolean;
}
TrườngKiểuMô tả
methodstringPhương thức kích hoạt hiện đang hoạt động. Các giá trị có thể có: 'blur', 'image', 'color', '' (trống khi không được kích hoạt)
isActivatedbooleantrue nếu screenguard hiện đang được kích hoạt, false nếu ngược lại

Code mẫu

Cách sử dụng cơ bản:

import React from 'react';
import { View, Text } from 'react-native';
import ScreenGuardModule, { useSGScreenRecord } from 'react-native-screenguard';

function App() {
const { recordingData, activationStatus } = useSGScreenRecord();

React.useEffect(() => {
ScreenGuardModule.initSettings();
}, []);

return (
<View>
<Text>Đã kích hoạt: {activationStatus?.isActivated ? 'Có' : 'Không'}</Text>
<Text>
Đang quay: {recordingData?.isRecording ? '🔴 Đang quay...' : '⚪ Không quay'}
</Text>
</View>
);
}

Với trình lắng nghe callback:

import React from 'react';
import { Alert } from 'react-native';
import ScreenGuardModule, { useSGScreenRecord } from 'react-native-screenguard';

function App() {
useSGScreenRecord((event) => {
if (event.isRecording) {
Alert.alert('Cảnh báo', 'Đã bắt đầu quay màn hình!');
} else {
Alert.alert('Thông báo', 'Đã dừng quay màn hình.');
}
});

// ... phần còn lại của component
}

Lưu ý

  • Hook này tự động xử lý việc hủy đăng ký (cleanup) khi component bị unmount.
Hỗ trợ nền tảng
  • iOS: Hỗ trợ đầy đủ trên iOS 13+
  • Android: Chỉ hỗ trợ trên Android 15+ (API 35+). Trên các phiên bản Android cũ hơn, cài đặt này sẽ bị bỏ qua và tính năng phát hiện quay màn hình sẽ không khả dụng.

Demo