Ich entwickle eine Android -mobile App mit React Native mit dem Expo -Framework. Die App wurde entwickelt, um den Standort des Benutzers kontinuierlich zu verfolgen, auch wenn sie im Hintergrund ausgeführt werden. Zu diesem Zweck habe ich die Expo-Location-Bibliothek implementiert, um den GPS-Listener einzurichten und die Hintergrundverfolgung zu verarbeiten. Es scheint, als ob der Hintergrundsportverfolgungsverfolgung nach einem Tag vollständig funktioniert. Ich habe: < /p>
Berechtigungen von Hintergrund- und Vordergrundstandort. Die Verfolgung stoppt jedoch nach einem Tag. Nicht geeignet für diesen Anwendungsfall, ich würde mich mit Empfehlungen für alternative Bibliotheken oder Ansätze freuen. < /p>
Ich entwickle eine Android -mobile App mit React Native mit dem Expo -Framework. Die App wurde entwickelt, um den Standort des Benutzers kontinuierlich zu verfolgen, auch wenn sie im Hintergrund ausgeführt werden. Zu diesem Zweck habe ich die Expo-Location-Bibliothek implementiert, um den GPS-Listener einzurichten und die Hintergrundverfolgung zu verarbeiten. Es scheint, als ob der Hintergrundsportverfolgungsverfolgung nach einem Tag vollständig funktioniert. Ich habe: < /p>
Berechtigungen von Hintergrund- und Vordergrundstandort. Die Verfolgung stoppt jedoch nach einem Tag. Nicht geeignet für diesen Anwendungsfall, ich würde mich mit Empfehlungen für alternative Bibliotheken oder Ansätze freuen. < /p> [code]import React, { useEffect, useState } from 'react'; import { View, Text, StyleSheet } from 'react-native'; import * as Location from 'expo-location'; import LottieView from 'lottie-react-native'; import { auth } from '../firebaseConfig'; import { db } from '../firebaseConfig'; import { doc, updateDoc, collection, addDoc, getDoc } from 'firebase/firestore'; import * as TaskManager from 'expo-task-manager'; import NetInfo from '@react-native-community/netinfo'; import { BackHandler } from 'react-native'; import { Timestamp } from 'firebase/firestore';
let lastFirebaseUpdate = 0; let isInitialLocationUpdated = false;
// Define the background task at the top-level scope TaskManager.defineTask('background-location-task', async ({ data, error }) => { if (error) { // Check if location services are enabled if (error.code === 'E_LOCATION_SERVICES_DISABLED') { console.log("Location services turned off in background"); await sendNotificationToAdmin("Location services turned off in background"); } else { console.error("Error in background task:", error); } return; }
// Check network connectivity try { const response = await fetch("https://www.google.com", { method: "HEAD" }); if (!response.ok) { throw new Error("Network unavailable"); } } catch (e) { console.log("Network disconnected in background"); await sendNotificationToAdmin("Network disconnected in background"); }
if (data) { const now = Date.now(); const { locations } = data;
if (locations && locations.length > 0) { const currentLocation = locations[0]; console.log("Background Task - New Location:", currentLocation);
if (isInitialLocationUpdated) { isInitialLocationUpdated = false; return; }
// Reverse geocode to get the address const reverseGeocode = await Location.reverseGeocodeAsync({ latitude: currentLocation.coords.latitude, longitude: currentLocation.coords.longitude, });
if (now - lastFirebaseUpdate >= 900000) { lastFirebaseUpdate = now; // Update the timestamp
const firestoreTimestamp = Timestamp.now(); // Store the updated location in Firestore and add to Location History subcollection try { // Update main document await updateDoc(doc(db, 'Sales Rep', uid), { Latitude: currentLocation.coords.latitude, Longitude: currentLocation.coords.longitude, Address: formattedAddress, Timestamp: firestoreTimestamp, // Store the current timestamp });
Ich versuche, Latex -Mathematikgleichungen in meiner nativen React -Anwendung anzuzeigen. Zunächst habe ich versucht, React-Native-Mathjax-Svg und React-Native-Math-View zu verwenden, aber keiner von...
Ich versuche, Latex -Mathematikgleichungen in meiner nativen React -Anwendung anzuzeigen. Zunächst habe ich versucht, React-Native-Mathjax-Svg und React-Native-Math-View zu verwenden, aber keiner von...
reagieren nativ standardmäßig gedrückte Protokolle mit allen Netzwerkanforderungs- und Anwendungsprotokollen auf ADB, die beim Griff mit - ADB -logcat *: s reactnativejs: v uns alle Protokolle von...
Ich erhalte die Fehlermeldung „Nicht implementierte Komponente“, wenn ich versuche, BlurView zu verwenden. Ich verwende React-Native v0.76.6 und Expo SDK v52.0.25. Ich habe ein paar verschiedene...
Ich erhalte die Fehlermeldung „Nicht implementierte Komponente“, wenn ich versuche, BlurView zu verwenden. Ich verwende React-Native v0.76.6 und Expo SDK v52.0.25. Ich habe ein paar verschiedene...