Le programme d'installation le huawei location kit pour l'obtention de la position de l'appareil d'heures supplémentaires lorsque les applications en cours d'utilisation, suivi de l'installation de https://developer.huawei.com/consumer/en/doc/HMS-Plugin-Guides-V1/config-agc-0000001050197382-V1
nous n'avons pas de réel huawei device, nous utilisons le cloud de débogage
Essayez de mettre en œuvre pour regarder la localisation gps des heures supplémentaires avec tous ces syntaxe
// ------ Parent ------
// this put on the parent useEffect
HMSLocation.LocationKit.Native.init()
.then(() => console.log('----------Success Initialize----------'))
.catch((err) => alert(err.message))
// ------ Child ------
const stopWatchingLocation = () => {
if (hasHms) {
HMSLocation.FusedLocation.Events.removeFusedLocationEventListener(
(res: LocationResult) => console.log('remove add listener', res),
)
}
}
const startWatchingLocation = async () => {
if (hasHms) {
HMSLocation.FusedLocation.Native.requestLocationUpdatesWithCallbackEx(
hwGeolocationOptions,
)
.then((res) => console.log('success request', res))
.catch((error) => console.log('failed request', error))
HMSLocation.FusedLocation.Events.addFusedLocationEventListener(
(res: LocationResult) => console.log('result', res.lastHWLocation)
)
}
}
// implementation of add & remove event listener
useEffect(() => {
startWatchingLocation() // inside here invoke addFusedLocationEventListener
return stopWatchingLocation // inside here invoke, cleanup function removeFusedLocationEventListener
}, [])
Le code avec succès invoquer la init
, requestLocationUpdatesWithCallbackEx
mais , journal de la console de addFusedLocationEventListener
ne jamais invoquer
Déjà sur le hms core application l'autorisation pour l'emplacement, hasPermission
également renvoyé true
Essayé le locationRequest
options de problème avec réagissent natif @hmscore/réagir-native-hms-emplacement des commentaires, ne fonctionne toujours pas
Comment nous pouvons les corriger??
removeFusedLocationEventListener
pas directement aprèsaddFusedLocationEventListener
, nous avons misremoveFusedLocationEventListener
à l'intérieur de useEffect fonction de nettoyage, même quand on enlève leremoveFusedLocationEventListener
il n'a pas d'invoquer laaddFusedLocationEventListener
rappel trop