如何让用户在 React Native 中启用MANAGE_EXTERNAL_STORAGE权限?

How do I ask the user to enable the MANAGE_EXTERNAL_STORAGE permission in React Native?

提问人:Josu Goñi 提问时间:11/29/2021 最后编辑:Josu Goñi 更新时间:9/3/2023 访问量:2993

问:

Android 11 在提供对用户文件的访问权限时比旧版本更具限制性。

目标是提高安全性,这没关系,但它会破坏一些应用程序。

为了解决这个问题,我们可以添加到应用清单中。这允许用户转到应用程序设置并打开选项(允许管理所有文件):<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

enter image description here

但这本身是不够的,因为如果没有要求,用户就不会这样做。他们只会看到一个无法正常工作的应用。

目前,React Native 存储库中实际上没有提到这个特定的权限。

有什么解决办法吗?我们应该能够检查是否已授予该权限,以便我们可以采取相应的行动,并且我们应该能够要求用户授予权限。

React-Native Android-权限

评论


答:

0赞 Bakou 11/29/2021 #1

我认为 PermissionsAndroid 就是你要找的。 这是我用来提示用户允许访问我的应用程序的存储的方法。它事先检查用户是否已经授予授权。

0赞 Fedechka 9/3/2023 #2

您可以使用此库:https://www.npmjs.com/package/manage-external-storage

// check if can manage
checkManagePermission().then((isManagePermitted) => {
  console.log(isManagePermitted);
});

// request rights to manage
requestManagePermission().then((isManagePermitted) => {
  console.log(isManagePermitted);
});