flutter 获取手机的权限

阅读: 评论:0

flutter 获取手机的权限

flutter 获取手机的权限

flutter是跨平台的移动技术,当然也摆脱不了设备的授权问题,如android 设备中清单文件里的各种权限配置,以及到Android 6.0 的动态权限配置,Flutter也有相对应的功能要处理。接下来基于Android系统读写SD的权限做一个简单的讲解。(相关IOS的权限请自行查阅)
1.清单文件配置权限
找到Android模块的清单文件,配置对应的sd卡权限。

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2.配置动态权限,现在Android手机设备几乎全都是6.0以上的系统,所以免不了要配置动态权限。在flutter中,我们使用permission_handler: ^3.2.0 插件给大家演示效果。动态权限也分为几个部分;

  • 检查当前应用是否已经拥有了相关权限
  /*** 检查是否有相关权限*/void checkPermissionStatus() {final Future<PermissionStatus> statusFuture =PermissionHandler().checkPermissionStatus(PermissionGroup.storage);statusFuture.then((PermissionStatus status) {setState(() {_permissionStatus = status;});});}
  • 根据检查权限的结果,决定是否要请求权限的授权,也就是请求权限授权
 /*** 请求系统权限,让用户确认授权*/Future requestPermission() async {List<PermissionGroup> permissions = <PermissionGroup>[PermissionGroup.storage];Map<PermissionGroup, PermissionStatus> permissionMap =await PermissionHandler().requestPermissions(permissions);setState(() {_permissionStatus = permissionMap[PermissionGroup.storage];});}
  • 根据权限的结果,执行相关逻辑
  @overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("检查读写SD卡权限"),),body: Column(children: <Widget>[RaisedButton(child: Text("检查是否拥有权限--读写外部卡"),onPressed: checkPermissionStatus,),Text("检查权限结果:" + hasPermissionText(_permissionStatus),),RaisedButton(child: Text("请求权限"),onPressed: requestPermission,),Text("获取权限结果:" + getPermissionResult(_permissionStatus),)],),);}

本文发布于:2024-02-05 02:01:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170721516362010.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   手机   flutter
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23