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.
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.0Kontrollera 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.0Lä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.
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
- Plattformskanaler (MethodChannel)
- Geolokalisering och kamer pluginer
- Integration av inbyggda användargränssnitt
- Behörigheter och sensorer