如何在本机应用程序中请求多个权限?

时间:2019-02-27 04:32:20

标签: android ios reactjs react-native

现在,我正在构建一个使用多种设备功能(例如位置,摄像头,存储和联系人)的应用程序。 我想知道是否有任何方法可以并且仅当所有权限都被授予时允许用户进入我的应用程序。

我尝试使用react-native-permissions,代码段如下

Permissions.request('photo').then(() => {
  Permissions.request('location').then(() => {
    Permissions.request('camera').then(() => {
      Permissions.request('contacts').then(() => {
        Permissions.request('notification').then(() => {
          console.log('PERMISSIONS ASKED');
        });
      });
    });
  });
}); 

以上代码仅在第一次使用时有效,如果用户单击拒绝,则不会再次询问。有人可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

是的,一旦用户拒绝许可,将不再要求他再次许可(iOS)。他必须返回设置并手动更新权限。

一次询问所有权限不是一个好习惯,正确的询问方法是在用户启动使用(位置,摄像头)之类的服务时提醒该权限。

无论哪种方式,如果您想一次询问所有权限,则可以检查该权限是否处于拒绝状态,如果这样,则可以显示警告以打开设置并更改权限。

Permissions.check('location', { type: 'always' }).then(response => {
  this.setState({ locationPermission: response })
})