App Settings
App Settings
Backed by the NativeBlade nativeblade-system native plugin:
Settings.ACTION_APPLICATION_DETAILS_SETTINGS on Android and
UIApplication.openSettingsURLString on iOS. This plugin is always on, so there
is no Plugin:: to declare and nothing to configure.
Opens the OS settings page for your app. This is the natural next step after a
permission was permanently denied, where the app can no longer show its own prompt
and the user has to flip the switch in system settings.
Blade:
<button wire:nb-bridge="open_app_settings">Open settings</button>
PHP:
public function openSettings()
{
return NativeBlade::openAppSettings()->toResponse();
}
A common pattern is to call it when a permission check comes back denied:
#[On('nb:permission')]
public function onPermission($name, $status)
{
if ($status === 'denied') {
// The app cannot re-prompt; send the user to settings instead.
$this->openSettings();
}
}
On desktop this is a no-op: there is no per-app settings screen, so the call
does nothing. It fires only on Android and iOS.
See Permissions for checking and requesting the
permissions that lead here.