I want to appear GPS Icon on the status bar when I open app or screen that's contain Map, So I add a function that asks a user at the first time to allow Location permission and it's work very well and I can get Lat/Long but GPS "Location" Icon did not activate so how can I force an app to activate this icon?
here's my Ask for permission function
async requestLocationPermission() { try { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, { title: 'App Location Permission', message: 'App needs access to your Location ', buttonNeutral: 'Ask Me Later', buttonNegative: 'Cancel', buttonPositive: 'OK', }, ); if (granted === PermissionsAndroid.RESULTS.GRANTED) { this.getLocation(); } else { this.setState({next: false}); } } catch (err) { console.log('err ', err); } }getLocation = async () => { const {companyLocation, Domain} = this.props.navigation.state.params; Geolocation.getCurrentPosition( position => { this.setState( { mapData: { latitude: position.coords.latitude, longitude: position.coords.longitude, latitudeDelta: 0.015, longitudeDelta: 0.0121, }, markerData: { latitude: position.coords.latitude, longitude: position.coords.longitude, latitudeDelta: 0.015, longitudeDelta: 0.0121, }, error: null, }, () => { let { latitudeDelta, longitudeDelta, ...userLocation } = this.state.mapData; let howFar = Math.round(haversine(userLocation, companyLocation)); howFar > Domain ? (alert('we not work in your area.'), this.setState({next: false})) : null; }, ); }, error => this.setState({error: error.message}), ); this.watchID = Geolocation.watchPosition(position => { const latitude = position.coords.latitude; const longitude = position.coords.longitude; this.setState({ mapData: { latitude: latitude, longitude: longitude, latitudeDelta: 0.015, longitudeDelta: 0.0121, }, }); }); };
