реагировать на родную геолокацию, не спрашивая разрешения пользователя на эмуляторе Android - PullRequest
0 голосов
/ 14 января 2019

Здравствуйте, я использую приведенный ниже код для успешного определения местоположения пользователя, но в эмуляторе Android он не спрашивает пользователя, хотят ли они поделиться своим местоположением (даже после переустановки приложения).

Код работает отлично, но мне бы очень хотелось, чтобы появилось стандартное оповещение, которое говорит: «Вы уверены, что хотите поделиться своим местоположением с приложением»

Любые рекомендации будут оценены

navigator.geolocation.getCurrentPosition(
        (pos) => {
          console.log(pos.coords.longitude, pos.coords.latitude);

1 Ответ

0 голосов
/ 14 января 2019

Я думаю, что разрешение местоположения больше не отображается, если вы переустанавливаете приложение, потому что телефон все еще помнит разрешения, предоставленные для приложения. Вы можете проверить, есть ли у приложения разрешение в настройках Android с помощью приложения (https://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/).

Может быть, этот код поможет вам

import { PermissionsAndroid } from 'react-native';

async function getLocation() {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
      {
        'title': 'App',
        'message': 'are you sure you want to share your location with the app ?'
      }
    )
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      // permission granted
      // do code get location here.
      navigator.geolocation.getCurrentPosition(
        (pos) => {
          console.log(pos.coords.longitude, pos.coords.latitude);
        })
    } else {
      // permission denied
      console.log("GPS permission denied")
    }
  } catch (err) {
    console.warn(err)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...