颤振上的 ERROR_ALREADY_REQUESTING_PERMISSIONS

2024-04-22

我使用 flutter 创建一个 android 应用程序,在应用程序运行时第一次创建权限请求,因此当用户单击拒绝然后单击登录按钮时,会再次请求权限。我收到这个错误

Exception has occurred.
PlatformException (PlatformException(ERROR_ALREADY_REQUESTING_PERMISSIONS, A request for permissions is already running, please wait for it to finish before doing another request (note that you can request multiple permissions at the same time)., null))

这是我的代码

@override
  void initState() {
    this.setSharedPreferences();
    PermissionHandler().checkPermissionStatus(PermissionGroup.location).then(_checkPermission);
  }

void _checkPermission(PermissionStatus status){
    if(status == PermissionStatus.unknown || status == PermissionStatus.denied){
      _askPermission();
    }
  }

void _askPermission() async{
    await PermissionHandler().requestPermissions([PermissionGroup.location]);
  }

void onLogin() async {
   PermissionStatus locationPermission = await PermissionHandler().checkPermissionStatus(PermissionGroup.location);
   if(locationPermission == PermissionStatus.denied || locationPermission == PermissionStatus.unknown){
        _askPermission();
   }else{
     // user available to login
   }
}

这要怎么处理呢?感谢您的回答


问题是,当它检查权限时,它返回 null 而不是任何权限状态,这会导致异常。这可能是一个错误,多人填写了与位置权限相关的问题。

https://github.com/BaseflowIT/flutter-geolocator/issues/172 https://github.com/BaseflowIT/flutter-geolocator/issues/172

https://github.com/BaseflowIT/flutter-geolocator/issues/ https://github.com/BaseflowIT/flutter-geolocator/issues/

https://github.com/BaseflowIT/flutter-permission-handler/issues https://github.com/BaseflowIT/flutter-permission-handler/issues

void getPermissionStatus() async {
        PermissionStatus permission = await PermissionHandler()
            .checkPermissionStatus(PermissionGroup.storage);
        if (permission == PermissionStatus.granted) {
        } // ideally you should specify another condition if permissions is denied
else if (permission == PermissionStatus.denied ||
            permission == PermissionStatus.disabled ||
            permission == PermissionStatus.restricted) {
          await PermissionHandler().requestPermissions([PermissionGroup.storage]);
          getPermissionStatus();
        }
      }

我不认为你的代码有问题,无论如何你可以使用递归而不是创建两个单独的函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

颤振上的 ERROR_ALREADY_REQUESTING_PERMISSIONS 的相关文章

  • 如何创建不在 ScrollView 中或已禁用 ScrollView 的 ListView?

    我想要 ListView 中的一些好东西 例如能够使用 ListAdapter 和项目选择等 但我不想要其中的 ScrollView 部分 我想以不同的方式自己实现该部分 为什么或如何做到这一点并不是这个问题的重点 所以请不要问 为什么 有
  • 一项活动中有多个 YouTube 玩家

    我正在使用 Youtube Android Player API 如下所述 https developers google com youtube android player https developers google com you
  • Mac OS Flutter 构建应用程序包失败:密钥库格式无效

    自从一周以来 我一直在尝试从 flutter 应用程序创建 android 应用程序包 并且我一直遵循创建上传密钥库 https flutter dev docs deployment android给定 flutter 官方网站 在 Ma
  • JavaScript接口注入漏洞修复

    我收到了来自 Google Play 管理中心的警告 提示我这一页 https support google com faqs answer 9095419因为我在我的应用程序中使用了 JavaScript 接口 并建议两个选项来解决该问题
  • 动态改变ListView中TextView字体颜色

    我正在将 XML 文档绑定到自定义适配器 列表中的所有项目最初的字体颜色均为白色 XML 文档中的一个节点有一个我正在检查的属性 如果设置了该属性 我想将 ListView 中该项目的字体颜色更改为较深的颜色 我的代码似乎最初可以工作 但是
  • 文件路径在棒棒糖android中始终返回null

    这是我从内部存储 画廊 获取图像时的代码 在棒棒糖文件路径中返回始终为空 if requestCode PICK IMAGE if resultCode RESULT OK image successfully picked launchi
  • 手电筒打开时 Android 相机的奇怪行为

    我有以下 android 代码 这里用伪代码编写 mCamera configAndInitialize all I want to do before taking picture mCamera startPreview mCamera
  • 使用 Android 浏览器的 HTML5 离线存储

    我正在研究如何使用 Android 设备来创建需要离线使用的网站 我还没有找到很多关于Android浏览器如何处理HTML5的localStorage和WebSQL的信息 有人知道这些的尺寸限制吗 它们是否可以更改 我知道移动 Safari
  • Android 4.2.1 错误的字符字距调整(间距)

    使用时Canvas and drawText 方法我在 Android 4 2 1 上看到了不同的渲染 4 2 以下 对于 Android 4 2 1 Nexus 7 我得到 正如你所看到的文字消耗很紧 似乎是4 2 1中引入的字距调整问题
  • 在 Android 10 上使用 RNFetchBlob 的下载管理器 React Native 下载文件

    我需要使用 React Native 应用程序将文件下载到用户的下载目录rn 获取 blob https www npmjs com package rn fetch blob 但似乎与 Android 10 不兼容 因为我收到错误 首先我
  • 如何在android listview或线性布局中动态设置marginBottom?

    friends 我想使用java代码或动态设置layout marginBottom 在列表视图或线性布局中 有人指导我如何实现这一目标吗 任何帮助 将不胜感激 ListView lst getListView LinearLayout L
  • 为什么桌面 AES 文件 IO 与 Android AES 文件 IO 不兼容?

    我已将一个应用程序从 Android 移植到桌面 该应用程序使用 AES 加密一些私人数据 两个应用程序都能够加密和解密数据以供自己使用 但无法解密其他应用程序的数据 AES 密钥 IV 和算法是相同的 这两个应用程序之间的主要区别在于 a
  • 带 Retrofit 的简单登录表单

    我开始使用 Retrofit 但我坚持这个简单的步骤 我有一个登录表单 我正在尝试通过服务器进行身份验证 但我无法发送请求 这是我尝试过的 我的改造客户 private static OkHttpClient Builder httpCli
  • RxJava - 链接请求和更新 UI

    我遇到的问题是这样的 我需要向服务器执行几个请求 下一个请求取决于前一个请求的结果 它们看起来像这样 缩写 Observable
  • 使用 Android 将文本文件上传到 Google Drive

    编辑 我已将文本设置为字符串 如下所示 字符串文本 你好 我想将其转换为纯文本文件 然后上传到 Google 云端硬盘文件夹 我已经尝试过下面的代码 但它不完整 所以我无法说出出现了什么错误 我正在使用 Google Drive 快速启动
  • Marshmallow 中的手电筒控制

    我对最新 Marshmallow 版本中的相机 更具体地说是手电筒 有疑问 在任何棉花糖之前的版本上 我需要执行以下操作来打开 关闭闪光灯 private void turnFlashOn final Camera camera int f
  • 如何在Fragment之间传递数据?

    对于所有那些投反对票并投票决定关闭这个问题的人 认为它与 textview 的范围有关 然后看看 它与 textview 的范围无关 无法在片段之间传递数据 应用程序崩溃 我不知道我做错了什么 我点击了此链接http manishkpr w
  • 不要使用android内置的org.json

    我写了一个使用的库org json http json org A 来自 json org 假设 Android 使用相同的 在 android 中也称为org json B 只是它遗漏了一些相对关键的功能 现在我想做的是设置我的 grad
  • Android 回调监听器 - 将 SDK 中的 pojo 的值发送到应用程序的 Activity

    我有一个深埋在 SDK 中的 java 类 它执行一个操作并返回一个布尔值 它不知道应用程序的主要活动 但我需要主要活动来接收该布尔值 我见过很多关于回调 广播和监听器的问题 但他们似乎都了解该活动 我的 pojo 确实有一个 Activi
  • Android - 具有自定义视图的 android.view.InflateException

    嗨 我不断收到此错误 它是第 9 行的 android view InflateException xml 这是我的 xml

随机推荐