A React Native library to access and modify system settings like volume, brightness, and connectivity.
react-native-system-setting is a React Native library that provides JavaScript APIs to access and modify system settings on iOS and Android devices. It solves the problem of needing native modules to control hardware features like volume, brightness, and connectivity states directly from a cross-platform React Native app.
React Native developers building apps that require control over device hardware or system settings, such as media players, accessibility tools, or system utility applications.
Developers choose this library for its straightforward, unified API across iOS and Android, comprehensive feature set covering common system settings, and built-in handling of platform-specific permissions and restrictions.
A library to access system setting, and change it easily. eg: volume, brightness, wifi
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides unified JavaScript APIs for both iOS and Android, reducing platform-specific code, as demonstrated in the volume and brightness usage examples.
Covers essential system settings like volume, brightness, and connectivity toggles (Wi-Fi, Bluetooth, Location, Airplane mode), enabling robust app functionality.
Includes built-in methods for Android runtime permissions and iOS capability enabling, such as grantWriteSettingPermission(), to streamline compliance.
Offers real-time volume change listeners via addVolumeListener(), which is critical for media player apps and detailed in the API documentation.
Many APIs like Wi-Fi and Bluetooth toggles are disabled by default on iOS since V1.7.0, requiring manual enabling through extra steps as noted in iOS.md.
Breaking changes since V1.5.0 force developers to manually declare permissions in AndroidManifest.xml, increasing setup time and error risk.
The example app only works on real devices, not simulators, which can hinder development and debugging workflows.
setVolume() may crash on Android due to Do Not Disturb restrictions, requiring additional error handling as mentioned in the README.