您当前的位置: 首页 >  flutter

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Flutter 问题系列第 48 篇】Flutter 获取手机权限插件 permission_handle 都支持哪些权限

Allen Su 发布时间:2021-11-06 17:43:11 ,浏览量:2

这是【Flutter 问题系列第 48 篇】,如果觉得有用的话,欢迎关注专栏。

如果想在 Flutter 中动态获取系统权限,可以使用插件 permission_handle,这里以 permission_handle 8.1.4+2 为例,说下该插件支持的权限有哪些。

注:表格中的 ✔ 代表当前平台支持该权限,✗ 代表当前平台不支持该权限,- 代表该权限在当前平台不做任何处理。

表格中被标注红色的权限是需要你特别去注意的,具体详情在本文最后。

permission_handle 插件支持权限详情 序号权限名称解释说明AndroidiOS1calendar日历✔✔2camera相机✔✔3contacts联系人✔✔4location访问位置✔✔5locationAlways总是允许访问位置✔✔6locationWhenInUse仅在使用中允许访问位置✔✔7mediaLibrary媒体库✗✔8microphone麦克风✔✔9phone电话✔-10photos照片-✔11photosAddOnly仅添加照片-✔12reminders提醒-✔13sensors传感器✔✔14sms短信✔-15speech语音✔✔16storage存储✔✔17ignoreBatteryOptimizations忽略电池优化✔✗18notification通知✔✔19accessMediaLocation访问媒体位置✔✗20activityRecognition活动(运动)识别✔-21unknown未知✔✔22bluetooth蓝牙✔✔

特别注意事项

一:针对权限 locationAlways (总是允许访问位置)

  • Android:当安卓版本小于 Android 10 时,获取的是粗略的位置,在 Android 10 或者更高版本时获取的是后台位置权限。

二:针对权限 photosAddOnly(仅添加照片)

  • 在 ios 14 或更高版本上有访问级别。

三:针对权限 activityRecognition(活动/运动)

  • 在 Android 10 或更高版本时,需要申请访问活动/运动权限,在 Android 10 以下的版本可以直接获取到活动/运动权限,不需要去申请。

当时做了一个计步功能,我自己测试机可以获取到当前走的步数,交给测试人员时没有起到作用,后来排查才知道,我的测试机是 Android 9 所以没有问题,测试人员的是 Android 11,因为我并没有写获取活动/运动的权限,所以测试人员的有了问题,也给大家长个心吧。

四:针对权限 bluetooth (蓝牙)

  • Android 允许一直访问
  • 在 ios 13 或更高版本需要获取蓝牙权限,ios 13 以下的可以一直访问。

文章内容是参考插件源码翻译的,如果存在不对的地方,还望各位大神指出。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0717s