在授予权限之前调用的请求权限方法

Posted

技术标签:

【中文标题】在授予权限之前调用的请求权限方法【英文标题】:request permission methods called until the permission is granted 【发布时间】:2021-07-02 04:12:27 【问题描述】:

我创建了使用react-native-permission 库授予locationstorage read & write 权限的方法。当用户拒绝权限时,权限对话框被禁用。但我正在尝试这样做,request 方法是循环调用的,直到用户允许 location 的权限。所以,我该怎么做。请提出任何解决方案

代码:

  reuestMultiplePermissions = () => 
    return new Promise((resolve, reject) => 
      requestMultiple([
        PERMISSIONS.android.ACCESS_COARSE_LOCATION,
        PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION,
        PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE,
        PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE,
      ])
        .then((statuses) => 
          if (
         
            statuses[PERMISSIONS.ANDROID.ACCESS_COARSE_LOCATION] ===
              RESULTS.GRANTED &&
            statuses[PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION] ===
              RESULTS.GRANTED
          ) 
            resolve(true);
           else 
            reject();
          
        )
        .catch((error) => 
          reject(error);
        );
    );
  ;

【问题讨论】:

【参考方案1】:

我们可以使用全局变量来管理这一点,根据用户输入更新全局变量中的权限状态。

并检查用户输入是否授予执行某事的权限或再次向用户请求权限,如果用户已永久拒绝该权限,则打开请求用户打开设置并允许继续使用应用程序的权限。

【讨论】:

以上是关于在授予权限之前调用的请求权限方法的主要内容,如果未能解决你的问题,请参考以下文章

未授予 Android 权限

在用户授予接收推送通知的权限时未调用 didRegisterForRemoteNotificationsWithDeviceToken

如何授予 API Gateway 通过 CloudFormation 调用 lambda 函数的权限?

如何开通 API 服务并授予项目 API 服务的调用权限

Swift - 如果未授予核心位置请求权限

如何让谷歌地图再次请求位置权限?