Object containing permission state (granted, denied, requesting)
and requestPermissions async action that returns true if granted
Whether the user denied permissions or an error occurred
Whether camera and microphone permissions have been granted
Whether a permission request is currently in progress
This hook is React Native-specific and has no web equivalent.
On Android, it explicitly requests CAMERA and RECORD_AUDIO permissions
via the PermissionsAndroid API. On iOS, permissions are requested
automatically by react-native-webrtc when the camera or microphone
is first accessed, so requestPermissions resolves immediately.
import { usePermissions, useConnection } from '@hiyve/rn-react';
function JoinScreen() {
const { granted, denied, requesting, requestPermissions } = usePermissions();
const { joinRoom } = useConnection();
const handleJoin = async () => {
const ok = await requestPermissions();
if (ok) {
joinRoom({ roomName: 'my-room' });
}
};
return (
<View>
{denied && <Text>Permissions denied. Please enable in Settings.</Text>}
<Button title="Join Meeting" onPress={handleJoin} disabled={requesting} />
</View>
);
}
Request and track camera and microphone permissions.
Provides the current permission state and an async action to trigger the native permission request dialog. Call
requestPermissionsbefore joining a room to ensure media access is available.