我的应用程序的问题是当用户第一次拒绝访问媒体库时,当他回来并尝试从手机上传照片时,设备不会再次询问 du 您想允许此应用程序进入您的媒体库,此问题仅在 IOS 中,因为在 Android 中我可以用这个来修复它:
从"react-native"导入{PermissionsAndroid};
这就是权限在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
这需要修改本机代码,因此根据您的世博会设置,它可能无法正常工作。
我还在我的应用程序中使用 Redux(您可以使用 AsyncStorage),并跟踪 AppState。因此,我知道用户何时从设置屏幕返回应用程序,以便我可以在应用程序中执行任何适当的操作(例如再次检查权限,打开媒体库等)。