Mobilutveckling med Flutter · Lektion

Behörigheter och sensorer

Begär behörigheter under körning och läs enhetssensorer som accelerometern i Flutter för att bygga kontextmedvetna, plattformsintegrerade appar.

Lektion 4 av 413 steg

Behörigheter och sensorer är en gratis lektion i Mobilutveckling med Flutter på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Mobilutveckling med Flutter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mobilutveckling med Flutter innehåller totalt 4 lektioner.

Varför behörigheter och sensorer?

Många plattformsfunktioner – kamera, plats och sensorer – kräver körningsbehörighet. Sensorer som accelerometern gör dessutom att appen kan reagera på fysisk rörelse.

Paketet permission_handler

Paketet permission_handler tillhandahåller ett enhetligt API för att begära och kontrollera behörigheter i Android och iOS.

dependencies:
  permission_handler: ^11.0.0

Kontrollera status

Kontrollera om en behörighet har beviljats innan ni använder en funktion.

final status = await Permission.camera.status;
if (status.isGranted) {
  openCamera();
}

Begära en behörighet

Anropa request() för att fråga användaren. Hantera alltid ett avslag på ett bra sätt.

final result = await Permission.location.request();
if (result.isGranted) {
  startTracking();
}

Permanent nekad

Om användaren nekar permanent kan ni inte fråga igen – hänvisa i stället användaren till inställningarna.

if (status.isPermanentlyDenied) {
  await openAppSettings();
}

Deklarera behörigheter

Ni måste också deklarera behörigheter inbyggt: AndroidManifest.xml i Android och användningsbeskrivningar i Info.plist i iOS.

<!-- Android -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- iOS Info.plist -->
<key>NSCameraUsageDescription</key>
<string>We need the camera to scan codes</string>

Lär känna sensorerna

Paketet sensors_plus tillhandahåller enhetens rörelsesensorer som strömmar.

  • Accelerometer
  • Gyroskop
  • Magnetometer
dependencies:
  sensors_plus: ^4.0.0

Läsa av accelerometern

Prenumerera på accelerometerströmmen för att få accelerationsvärden för x, y och z.

accelerometerEventStream().listen((event) {
  print('x: ' + event.x.toString() + ' y: ' + event.y.toString());
});

Gyroskopet

Gyroskopet rapporterar rotationshastigheten kring varje axel – användbart för effekter som bygger på lutning och orientering.

gyroscopeEventStream().listen((event) {
  print('rotation: ' + event.x.toString());
});

Identifiera skakningar

Kombinera accelerometerns axlar till en magnitud och jämför den med ett tröskelvärde för att identifiera en skakgest.

import 'dart:math';

void onEvent(AccelerometerEvent e) {
  final magnitude = sqrt(e.x * e.x + e.y * e.y + e.z * e.z);
  if (magnitude > 15) onShake();
}

Avsluta prenumerationer

Sensorströmmar fortsätter att generera händelser – avbryt prenumerationen i dispose för att spara batteri.

late StreamSubscription sub;
@override
void dispose() {
  sub.cancel();
  super.dispose();
}

Snabbkontroll

Användaren har permanent nekat platsåtkomst. Vad bör appen göra?

Sammanfattning

Ni har lärt er om behörigheter och sensorer:

  • permission_handler: status, request, openAppSettings
  • Inbyggda deklarationer i Android och iOS
  • Strömmar från accelerometer och gyroskop i sensors_plus
  • Identifiering av skakningar och städning

Era appar kan nu använda plattformens funktioner på ett ansvarsfullt sätt.

Gratis att börja

Lär dig Dart med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
22
Lektioner
88

Vanliga frågor

Är lektionen ”Behörigheter och sensorer” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mobilutveckling med Flutter, inklusive ”Behörigheter och sensorer”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Mobilutveckling med Flutter innehåller totalt 4 lektioner.

Vad lär jag mig i ”Behörigheter och sensorer”?

Begär behörigheter under körning och läs enhetssensorer som accelerometern i Flutter för att bygga kontextmedvetna, plattformsintegrerade appar. Ni övar på Mobilutveckling med Flutter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Mobilutveckling med Flutter?

Du behöver inga förkunskaper. Utbildningen i Mobilutveckling med Flutter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Behörigheter och sensorer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Mobilutveckling med Flutter-lektionen?

Ja. Varje Mobilutveckling med Flutter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Plattformskanaler (MethodChannel)
  2. Geolokalisering och kamer pluginer
  3. Integration av inbyggda användargränssnitt
  4. Behörigheter och sensorer
← Tillbaka till Mobilutveckling med Flutter