PermissionHandler
PermissionHandler
#
Bases: Service
Manages permissions for the application.
This control is non-visual and should be added to Page.services
list.
Note
Currently only supported on Android, iOS, Windows, and Web platforms.
Attributes: foo: Description for me. Raises: FletUnsupportedPlatformException: If the platform is not supported.
data: Any = skip_field()
#
Arbitrary data of any type that can be attached to a control.
foo: Union[int, Tuple[float, float]] | None
#
key: str | int | float | bool | ValueKey | ScrollKey | None = None
#
page: Page | PageView | None
#
The page (of type Page
or PageView
) to which this control belongs to.
parent: BaseControl | None
#
The direct ancestor(parent) of this control.
It defaults to None
and will only have a value when this control is mounted (added to the page tree).
The Page
control (which is the root of the tree) is an exception - it always has parent=None
.
get_status_async(permission: Permission, timeout: int = 10) -> PermissionStatus | None
#
Gets the current status of the given permission
.
PARAMETER | DESCRIPTION |
---|---|
permission
|
The
TYPE:
|
timeout
|
The maximum amount of time (in seconds) to wait for a response.
TYPE:
|
Returns:
A PermissionStatus
if the status is known, otherwise None
.
Raises:
TimeoutError: If the request times out.
open_app_settings_async(timeout: int = 10) -> bool
#
Opens the app settings page.
PARAMETER | DESCRIPTION |
---|---|
timeout
|
The maximum amount of time (in seconds) to wait for a response.
TYPE:
|
Returns:
True
if the app settings page could be opened, otherwise False
.
Raises:
TimeoutError: If the request times out.
request_async(permission: Permission, timeout: int = 60) -> PermissionStatus | None
#
Request the user for access to the permission
if access hasn't already been granted access before.
PARAMETER | DESCRIPTION |
---|---|
permission
|
The
TYPE:
|
timeout
|
The maximum amount of time (in seconds) to wait for a response.
TYPE:
|
Returns:
The new PermissionStatus
after the request, or None
if the request was not successful.
Raises:
TimeoutError: If the request times out.