2016-07-14 38 views
7

Costruire un app con RN Io uso il seguente per ricevere posizione dell'utente:Determinare se geolocalizzazione abilitata con reagisce nativo

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

che invoca subito la richiesta per l'utente ad accettare le autorizzazioni di localizzazione geografica. Quello che sto cercando di ottenere ora è di avere una schermata esplicita prima di chiedere all'utente di fare clic su un pulsante per accettare tali autorizzazioni. Per arrivarci, ho bisogno di un modo per verificare se ha accettato quelle autorizzazioni prima o no. La memorizzazione nella cache nella cache sarebbe una soluzione non valida: potrebbe non essere sincronizzata se l'utente modifica le autorizzazioni nelle impostazioni.

Come è possibile verificare se l'utente ha accettato le autorizzazioni di geolocalizzazione senza attivare l'avviso di autorizzazione?

+0

hai capito? –

+0

@SibeliusSeraphini no, sono tornato a Swift a causa della moltitudine di bloccanti. Posso lasciarti uno snippet Swift se vuoi collegarlo. –

+0

forse questo pacchetto può aiutare: https://github.com/yonahforst/react-native-permissions –

risposta

4

È possibile utilizzare questa libreria https://github.com/yonahforst/react-native-permissions per verificare se l'utente ha accettato il permesso di posizione. Come questo:

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

Si prega di non inserire solo alcuni strumenti o librerie come risposta. Dimostrare almeno [come risolve il problema] (http://meta.stackoverflow.com/a/251605) nella risposta stessa. –