跳到主要内容

权限处理器(PermissionHandler)

权限处理器(PermissionHandler)可以检查和/或请求设备的各种组件的权限。支持Windows、iOS、Android和Web。 基于Dart/Flutter包permission_handler

权限处理器(PermissionHandler)控件是非视觉控件,应该添加到page.overlay列表中。

打包

要构建使用权限处理器(PermissionHandler)的Flet应用程序,需要在flet build命令中添加--include-packages flet_permission_handler,例如:

flet build apk --include-packages flet_permission_handler

示例

基本示例

import flet as ft


def main(page: ft.Page):
page.scroll = ft.ScrollMode.ADAPTIVE
page.appbar = ft.AppBar(title=ft.Text("权限处理器测试"))
ph = ft.PermissionHandler()
page.overlay.append(ph)

def check_permission(e):
o = ph.check_permission(e.control.data)
page.add(ft.Text(f"检查{e.control.data.name}权限:{o}"))

def request_permission(e):
o = ph.request_permission(e.control.data)
page.add(ft.Text(f"请求{e.control.data.name}权限:{o}"))

def open_app_settings(e):
o = ph.open_app_settings()
page.add(ft.Text(f"应用设置:{o}"))

page.add(
ft.OutlinedButton(
"检查麦克风权限",
data=ft.PermissionType.MICROPHONE,
on_click=check_permission,
),
ft.OutlinedButton(
"请求麦克风权限",
data=ft.PermissionType.MICROPHONE,
on_click=request_permission,
),
ft.OutlinedButton(
"打开应用设置",
on_click=open_app_settings,
),
)


ft.app(main)

方法

check_permission(of: PermissionType)

检查指定的PermissionType的状态。

返回类型为PermissionStatus的实例。

open_app_settings()

打开设备的设置。通常在调用此方法之前,需要提醒用户需要哪个权限以及如何/在哪里启用它。

返回一个布尔值:如果成功打开设备设置,则返回True,否则返回False

request_permission(of: PermissionType)

请求设备访问指定的PermissionType

返回类型为PermissionStatus的实例。