使用 React Native 检测从应用程序设置/后台返回

Eli*_*han 6 react-native react-navigation

我的应用程序请求使用位置服务的许可。

如果用户拒绝权限,他们可以单击按钮转到设置页面并授予权限。

在 iOS 上,他们可以选择直接返回应用程序。在Android上,我认为他们可以做类似的事情。

有没有办法检测回到应用程序,以便我可以再次检查他们的权限?

我尝试过 React Navigation 的useFocusEffect钩子:

useFocusEffect(
    React.useCallback(() => {
        console.log("navigated")
        return () => getPosition()
    }, [])
)
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这仅在应用程序中的屏幕/路线之间导航时有效。

有没有办法检测应用程序从后台转换到前台?

小智 6

您可以使用https://reactnative.dev/docs/appstate跟踪应用程序状态

在伪代码中:如果以前是“背景”,现在是“活动”,则运行您的效果