搜索插件、代码仓与 APP 分类

插件详情v1.1.4

permissions_plugin

运行时权限管理插件

近 30 天下载
34
喜欢数
15
Pub 分数
30

安装插件

flutter pub add permissions_plugin

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

permissions_plugin 是一个专为 Flutter 设计的包,用于在不同平台上管理运行时权限。它提供了一个统一的接口,用于请求和检查相机、麦克风、位置和存储等权限。该插件通过抽象平台特定的逻辑,简化了应用中的权限处理,确保在 Android 和 iOS 上行为一致。它支持在运行时动态请求权限,帮助开发者满足现代操作系统的要求。只需最少的设置,即可实现对敏感设备功能的安全且用户友好的访问。

适合场景

  • 在照片应用中请求相机访问权限
  • 在显示地图之前检查位置权限
  • 管理文件上传的存储访问
  • 处理语音录制应用中的麦克风权限
  • 确保符合隐私法规

主要特点

  • 跨平台权限管理
  • 运行时权限请求
  • 用于检查和请求权限的简单 API
  • 支持常见设备权限
  • 最小的样板代码

适合对象

  • 需要设备功能访问的移动应用
  • 同时针对 Android 和 iOS 的应用
  • 寻求简单权限处理的开发者
  • 注重隐私的应用程序
  • 需要符合操作系统权限策略的项目

使用建议

  • 不支持所有可能的权限(开箱即用)
  • 需要手动配置自定义权限
  • 与流行的替代方案相比,文档有限
  • 平台特定的行为可能会略有不同
  • 没有内置的权限对话框UI

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Permissions Plugin

Build version

Plugin for permission managment on runtime.

Getting Started

Installing
Use this package as a library

1. Depend on it Add this to your package's pubspec.yaml file:

dependencies:
  permissions_plugin: ^1.1.4

2. Install it You can install packages from the command line:

with Flutter:

$  flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it Now in your Dart code, you can use:

import 'package:permissions_plugin/permissions_plugin.dart';
New Features!
  • Request ignore battery optimization
  • check status ignore battery optimization

You can also:

  • Request permission on runtime
  • Check status permission on runtime
Request permission
import 'package:permissions_plugin/permissions_plugin.dart';

Map<Permission, PermissionState> permission = await PermissionsPlugin
    .requestPermissions([
        Permission.ACCESS_FINE_LOCATION,
        Permission.ACCESS_COARSE_LOCATION,
        Permission.READ_PHONE_STATE
    ]);
Check status permission
import 'package:permissions_plugin/permissions_plugin.dart';

Map<Permission, PermissionState> permission = await PermissionsPlugin
    .checkPermissions([
      Permission.ACCESS_FINE_LOCATION,
      Permission.ACCESS_COARSE_LOCATION,
      Permission.READ_PHONE_STATE
    ]);
Request ignore battery optimization
import 'package:permissions_plugin/permissions_plugin.dart';

final PermissionState resBattery = await PermissionsPlugin
    .requestIgnoreBatteryOptimization;
Check status ignore battery optimization
import 'package:permissions_plugin/permissions_plugin.dart';

final PermissionState status = await PermissionsPlugin
    .isIgnoreBatteryOptimization;
List Permissions

Current suport Android only

enum Permission {
  READ_CALENDAR,
  WRITE_CALENDAR,
  READ_CALL_LOG,
  WRITE_CALL_LOG,
  PROCESS_OUTGOING_CALLS,
  CAMERA,
  READ_CONTACTS,
  WRITE_CONTACTS,
  GET_ACCOUNTS,
  ACCESS_FINE_LOCATION,
  ACCESS_COARSE_LOCATION,
  RECORD_AUDIO,
  READ_PHONE_STATE,
  CALL_PHONE,
  ADD_VOICEMAIL,
  USE_SIP,
  BODY_SENSORS,
  SEND_SMS,
  RECEIVE_SMS,
  READ_SMS,
  RECEIVE_WAP_PUSH,
  RECEIVE_MMS,
  READ_EXTERNAL_STORAGE,
  WRITE_EXTERNAL_STORAGE
}
List Permissions state
enum PermissionState {
  GRANTED,
  DENIED,
  UNKNOWN
}

### Platform Support

OS Min Version
Android minSdkVersion 16
IOS soon

License

MIT

AUTHOR

This plugin is developed, Free Software, by Kevin Caicedo

所属分类

源码仓库

使用此插件的项目

暂无相关数据。