Обнаружение возврата из настроек / фона приложения с помощью React Native - PullRequest
0 голосов
/ 05 августа 2020

Мое приложение запрашивает разрешение на использование служб определения местоположения.

Если пользователь отказывает в разрешении, он может нажать кнопку go на странице настроек и предоставить разрешения.

В ios, им предоставляется возможность вернуться непосредственно в приложение. на Android, я думаю, они могут сделать что-то подобное.

Есть ли способ обнаружить возвращение в приложение, чтобы я мог снова проверить их разрешения?

Я пробовал с React Крючок useFocusEffect навигации:

useFocusEffect(
    React.useCallback(() => {
        console.log("navigated")
        return () => getPosition()
    }, [])
)

Но, к сожалению, это работает только при навигации между экранами / маршрутами в приложении.

Есть ли способ обнаружить приложение переходит с фона на передний план?

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Ciao, когда я хочу управлять разрешениями, я использую response-native-permissions . Таким образом, вы можете управлять всеми разрешениями прямо в приложении, не выходя из него.

Хорошо работает для iOs и Android. В вашем случае это может быть что-то вроде:

import {check, PERMISSIONS, RESULTS} from 'react-native-permissions';

check(<permission you need>)
  .then((result) => {
    switch (result) {
      case RESULTS.UNAVAILABLE:
        console.log(
          'This feature is not available (on this device / in this context)',
        );
        break;
      case RESULTS.DENIED:
        console.log(
          'The permission has not been requested / is denied but requestable',
        );
        break;
      case RESULTS.GRANTED:
        console.log('The permission is granted');
        break;
      case RESULTS.BLOCKED:
        console.log('The permission is denied and not requestable anymore');
        break;
    }
  })
  .catch((error) => {
    // …
  });
1 голос
/ 05 августа 2020

Вы можете отслеживать состояние приложения с помощью https://reactnative.dev/docs/appstate

в псевдокоде: если раньше «фоновый», а теперь «активный», запустите свои эффекты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...