Как только пользователь предоставит вам доступ к необходимой информации, вы можете сохранить эту информацию в UserStorage.Таким образом, вы можете проверить, есть ли у пользователя информация, хранящаяся в его UserStorage, прежде чем запрашивать разрешение.
Обратите внимание, что если вы храните персональные данные о пользователе, вам может потребоваться запросить его разрешение,не только для запроса данных, но и для их хранения.Как указано в документах:
В некоторых странах действуют правила, требующие от разработчиков получения согласия от пользователя, прежде чем он сможет получить доступ или сохранить определенную информацию (например, личную информацию) в userStorage.Если вы работаете в одной из этих стран и хотите получить доступ к такой информации или сохранить ее в userStorage, вы должны использовать помощник по подтверждению, чтобы запросить согласие у пользователя и получить согласие, прежде чем вы сможете начать хранить такую информацию в userStorage.
Вы также должны указать, что вы сохраняете данные в своей политике конфиденциальности:
Если вы храните информацию о пользователе, не забудьте раскрыть ее в своей политике конфиденциальности при отправке проекта.для ознакомления.
Как обсуждено в комментариях.Вы НЕ МОЖЕТЕ получить разрешение пользователя один раз и запросить их местоположение несколько раз.Вам нужно новое разрешение каждый раз, когда вы запрашиваете данные.Если вы подозреваете, что местоположение пользователей может меняться каждый раз, когда они используют ваше действие (то есть действия, которые в основном нацелены на смартфоны), вы можете обработать это как поворот диалога.Вот пример:
Система: Хотите узнать погоду в $ userSavedLocation?
Если пользователь говорит «да», нет необходимости вразрешение.Если они скажут «нет», попросите разрешения снова.