2016-07-14 12 views
7

Budowanie aplikacji z RN używam następujących aby otrzymać lokalizację użytkownika:Ustalenie czy geolokalizacja włączony z reagują rodzimy

navigator.geolocation.getCurrentPosition(
    (position) => { 
    //do stuff with location 
    }, 
    (error) => { 
    //error or locaiton not allowed 
    }, 
    {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} 
); 

Który natychmiast wywołuje zapytanie do użytkownika, aby zaakceptować uprawnienia geolokalizacyjnymi. Teraz staram się uzyskać wyraźny ekran przed monitowaniem użytkownika o kliknięcie przycisku, aby zaakceptować te uprawnienia. Aby się tam dostać, potrzebuję sposobu sprawdzenia, czy zaakceptował te uprawnienia przed, czy nie. Przechwycenie go w pamięci byłoby złym rozwiązaniem - może się zsynchronizować, jeśli użytkownik zmieni uprawnienia w ustawieniach.

Jak mogę sprawdzić, czy użytkownik zaakceptował uprawnienia geolokalizacji bez wywoływania alertu uprawnień?

+0

wymyśliłeś to? –

+0

@SibeliusSeraphini nope, wróciłem do Swift z powodu mnóstwa blokerów. Mogę rzucić ci fragment Swift, jeśli chcesz go połączyć. –

+0

może ten pakiet może pomóc: https://github.com/yonahforst/react-native-permissions –

Odpowiedz

4

Możesz użyć tej biblioteki https://github.com/yonahforst/react-native-permissions, aby sprawdzić, czy użytkownik zaakceptował pozwolenie na lokalizację. Tak jak w poniższym przykładzie:

Permissions.getPermissionStatus('location') 
    .then(response => { 
    this.setState({ locationPermission: response }) 
    }) 
+0

Proszę nie wysyłać po prostu narzędzia lub biblioteki jako odpowiedzi. Przynajmniej zademonstruj [jak rozwiązuje problem] (http://meta.stackoverflow.com/a/251605) w samej odpowiedzi. –

Powiązane problemy