Utilisation

Register background updates

Ce type est utilisé par location.startUpdates

tsx
import { location, permissions, storage } from 'kuito';

// At module scope: a background launch runs the app's modules, not its UI.
location.defineUpdates('run', async ({ locations }) => {
  const track: unknown[] = JSON.parse((await storage.get('track')) ?? '[]');

  await storage.set('track', JSON.stringify([...track, ...locations.map((fix) => fix.coords)]));
});

async function startRun() {
  const { status } = await permissions.request('locationAlways');

  if (status === 'granted')
    await location.startUpdates('run', {
      accuracy: 'high',
      distanceInterval: 10,
      notification: { title: 'Recording your run' },
    });
}

Déclaration du type

ts
export type LocationTaskOptions = WatchPositionOptions & {
  /** iOS: let Core Location pause updates while the device stays put. Off by default. */
  pausesUpdatesAutomatically?: boolean;
  /** iOS: the blue status bar pill while the app locates in the background. Off by default. */
  showsBackgroundLocationIndicator?: boolean;
  /** Android: the foreground service's notification. Defaults to the app's name. */
  notification?: { title?: string; body?: string };
};

Membres 6

NomTypeRequisDescription
accuracyAccuracyNon—
timeIntervalnumberNonMilliseconds between updates, at least. Android only; iOS delivers as fixes come.
distanceIntervalnumberNonMeters the device moves before the next update.
pausesUpdatesAutomaticallybooleanNoniOS: let Core Location pause updates while the device stays put. Off by default.
showsBackgroundLocationIndicatorbooleanNoniOS: the blue status bar pill while the app locates in the background. Off by default.
notification{ title?: string; body?: string;}NonAndroid: the foreground service's notification. Defaults to the app's name.
notification — champs imbriqués

notification champs

NomTypeRequisDescription
titlestringNon—
bodystringNon—
Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.