When in the code I do a startLocationUpdatesAsync sometimes when the application starts it reports to google a java.lang.NullPointerException:
java.lang.NullPointerException:
at expo.modules.location.taskConsumers.LocationTaskConsumer.shouldReportDeferredLocations (LocationTaskConsumer.java:316)
at expo.modules.location.taskConsumers.LocationTaskConsumer.maybeReportDeferredLocations (LocationTaskConsumer.java:273)
at expo.modules.location.taskConsumers.LocationTaskConsumer.access$100 (LocationTaskConsumer.java:44)
at expo.modules.location.taskConsumers.LocationTaskConsumer$1.onComplete (LocationTaskConsumer.java:123)
at com.google.android.gms.g.s.run (Unknown Source:4)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6806)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)
if (!TaskManager.isTaskDefined(TASK_BACKGROUND_LOCATION)) {
TaskManager.defineTask(TASK_BACKGROUND_LOCATION, ({ data, error }) => {
if (error) {
console.log("Error;" + error.message);
return;
}
if (data) {
const { locations } = data;
var user = AsyncStorage.getItem('user').then(function(userStr) {
user = JSON.parse(userStr);
locations.forEach((location) => {
RestController.savePoints(user.userId, location.coords.latitude, location.coords.longitude, location.timestamp).then(function(){ });
});
});
}
});
}
It work’s on ios without problems but in android the first time that I open the app for first time it closes and when I reopen it again it works, why it crashes?