srwiez / nativephp-mobile-screen
Screen wake lock and brightness control for NativePHP Mobile apps
Package info
github.com/SRWieZ/nativephp-mobile-screen
Type:nativephp-plugin
pkg:composer/srwiez/nativephp-mobile-screen
Requires
- php: ^8.2
- illuminate/support: ^11.0|^12.0
- nativephp/mobile: ^3.0
Requires (Dev)
- laravel/pint: ^1.24
- orchestra/testbench: ^9.0|^10.0
- pestphp/pest: ^3.0
README
Keep screens awake. Control brightness. Built for apps users stare at.
A tiny, focused NativePHP plugin for two things mobile devs constantly need: keeping the screen on and controlling brightness. One facade, six methods, zero setup.
Why this plugin?
- โ๏ธ Keep the screen awake โ perfect for barcode tickets, live dashboards, kiosks and scoring apps.
- ๐ Control brightness โ crank to 100% to scan barcodes in sunlight, dim down for dark reading rooms.
- ๐ชถ Dependency-free โ a single wake-lock + brightness wrapper. No bloat, no configuration.
- ๐ฑ Works everywhere โ iOS 13+ and Android 5+ (API 21).
Features at a glance
| Feature | Android | iOS |
|---|---|---|
| Keep screen awake | โ | โ |
| Set brightness (0.0โ1.0) | โ | โ |
| Reset to system default | โ | โ |
Perfect for
Ticket & boarding-pass apps ยท Barcode / QR scanners ยท Kiosk & POS apps ยท Sports scoreboards ยท Live dashboards & monitoring ยท E-readers
Installation
# Install the package composer require srwiez/nativephp-mobile-screen # Publish the plugins provider (first time only) php artisan vendor:publish --tag=nativephp-plugins-provider # Register the plugin php artisan native:plugin:register srwiez/nativephp-mobile-screen # Verify registration php artisan native:plugin:list
This adds \SRWieZ\NativePHP\Mobile\Screen\MobileScreenServiceProvider::class to your plugins() array.
Usage
PHP (Livewire/Blade)
use SRWieZ\NativePHP\Mobile\Screen\Facades\MobileScreen; // Keep screen awake MobileScreen::keepAwake(); // true if wake lock enabled // Allow screen to sleep MobileScreen::allowSleep(); // true if wake lock disabled // Check wake lock status $isAwake = MobileScreen::isAwake(); // bool // Set brightness (0.0 to 1.0) $level = MobileScreen::setBrightness(1.0); // returns actual level, or false on failure // Get current brightness $level = MobileScreen::getBrightness(); // float or null // Reset to system default MobileScreen::resetBrightness(); // returns level or false on failure
JavaScript (Vue/React/Inertia)
import { mobileScreen } from '@srwiez/nativephp-mobile-screen'; // Keep screen awake await mobileScreen.keepAwake(); // Set maximum brightness await mobileScreen.setBrightness(1.0); // Reset when done await mobileScreen.resetBrightness(); await mobileScreen.allowSleep();
API Reference
| Method | Returns | Description |
|---|---|---|
keepAwake(bool $enabled = true) |
bool |
Enable/disable screen wake lock |
allowSleep() |
bool |
Alias for keepAwake(false) |
isAwake() |
bool |
Check if wake lock is active |
setBrightness(float $level) |
bool|float |
Set brightness (0.0-1.0). Returns actual level or false on failure |
getBrightness() |
?float |
Get current brightness level |
resetBrightness() |
bool|float |
Reset to system default. Returns level or false on failure |
Version Support
| Platform | Minimum Version |
|---|---|
| Android | 5.0 (API 21) |
| iOS | 13.0 |
More NativePHP Mobile plugins
Building a mobile app with NativePHP? Check out the rest of the suite:
- Calendar โ Native calendars & events from PHP, on both platforms.
- Contacts โ Read, create & sync the device address book straight from Laravel.
- Screenshots โ Lock down sensitive screens, catch capture attempts, respond instantly.
Support
Bugs, questions, and feature requests should be reported at github.com/SRWieZ/nativephp-mobile-screen/issues.

