rndnd
v0.1.3
Published
Android Do Not Disturb helpers for React Native via Nitro Modules
Maintainers
Readme
rndnd
Android Do Not Disturb helpers for React Native, powered by Nitro Modules.
iOS ships no-op stubs for Android-only APIs and unused Focus state APIs.
Install
yarn add rndnd react-native-nitro-modules
# or
npm install rndnd react-native-nitro-modulesRequires React Native New Architecture (Fabric + TurboModules) and react-native-nitro-modules ^0.35.0.
Android
No manifest permissions required for reading the current interruption filter on recent API levels. To open system settings:
openNotificationPolicyAccessSettings()— notification policy access (optional, for advanced filter reads)openZenModeSettings()— Zen / Do Not Disturb settings (android.settings.ZEN_MODE_SETTINGS)
ProGuard/R8 keep rules ship via consumerProguardFiles in the Android library.
iOS
No configuration required. Android-only APIs are safe no-ops on iOS.
Usage
import {
getCurrentInterruptionFilter,
isDndActive,
isNotificationPolicyAccessGranted,
openZenModeSettings,
} from 'rndnd'
import {Platform} from 'react-native'
// Android: true when system DND / Zen is active
if (Platform.OS === 'android' && isDndActive()) {
// ...
}
// Android: open Zen / DND settings (no-op on iOS)
openZenModeSettings()API
| Function | Platform | Description |
|----------|----------|-------------|
| isDndActive() | Android | true when system DND is on (false on iOS) |
| getCurrentInterruptionFilter() | Android | NotificationManager interruption filter constant |
| isNotificationPolicyAccessGranted() | Android | App-level notification policy access |
| openNotificationPolicyAccessSettings() | Android | Opens policy access settings |
| openZenModeSettings() | Android | Opens Zen / DND settings (no-op on iOS) |
| getFocusAuthorizationStatus() | iOS stub | Always 'unknown' |
| requestFocusAuthorization() | iOS stub | Always resolves false |
| isFocusActive() | iOS stub | Always null |
License
MIT
