<分区>
我的应用程序的问题是,当用户第一次拒绝访问媒体库,然后当他回来并尝试从手机上传照片时,设备不再询问是否允许此应用程序进入在你的媒体库中,这个问题只出现在 IOS 中,因为在 Android 中我可以用这个解决它:
import {PermissionsAndroid} from 'react-native';
<分区>
我的应用程序的问题是,当用户第一次拒绝访问媒体库,然后当他回来并尝试从手机上传照片时,设备不再询问是否允许此应用程序进入在你的媒体库中,这个问题只出现在 IOS 中,因为在 Android 中我可以用这个解决它:
import {PermissionsAndroid} from 'react-native';
最佳答案
这就是权限在 iOS 中的工作方式,一旦权限被拒绝,就无法真正让应用再次请求权限。让用户启用权限的唯一方法是将他们引导至其应用程序的设置并手动将其打开。
我对权限执行以下操作。
我使用 react-native-permissions
来检查和请求我在 iOS 中需要的权限。 https://github.com/zoontek/react-native-permissions
然后您可以使用react-native-permissions
的open-settings
功能打开设置页面https://github.com/zoontek/react-native-permissions#opensettings
这需要修改 native 代码,因此根据您的 Expo 设置,它可能无法正常工作。
我还在我的应用程序中使用了 Redux(你可以使用 AsyncStorage)并且我跟踪了 AppState .所以我知道用户何时从设置屏幕返回应用程序,以便我可以在应用程序中执行任何适当的操作(例如再次检查权限、打开媒体库等)。
关于javascript - 如果用户第一次拒绝访问 ReactNative,则请求许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54673895/
相关文章:
javascript - Jest 的 Marble 测试失败,但 Jasmine 的等效测试成功
javascript - React Native FlatList 不呈现
android - react 导航 : Swipe on drawer does not work in Android
ios - TypeError:未定义不是对象(正在评估'_pushNotifications.pushNotifications.configure')React Native
javascript - 通过的 react 组件在表单标签的可访问性单元测试中失败了吗?
javascript - 单击一个 div 改变另一个的位置
javascript - 在我的代码中使用 Promises?使用延迟对象和 Jquery
javascript - 如何从 JS 文件中导出所有函数?
javascript - 你今天如何在前端使用 es6 promises?
javascript - React-Router:为什么 <Link> 组件的 onClick 处理程序不会调度我的操作?