Ein modernes Smartphone ist nicht nur ein Computergerät, sondern eine Sammlung leistungsstarker Sensoren. Kamera, Beschleunigungssensor, Gyroskop, NFC, Gesichtsscanner — all dies ist für Entwickler über Plattform-APIs verfügbar. Hardware-Funktionen ermöglichen die Erstellung von Anwendungen, die mit der physischen Welt interagieren: von Fitness-Trackern bis hin zu Augmented-Reality-Spielen. In diesem Artikel behandeln wir alle wichtigen Sensoren und APIs für iOS und Android. Weitere Details finden Sie in der offiziellen Android-Sensordokumentation.
Wichtige Erkenntnisse
Die Hardware-Funktionen des Smartphones umfassen Dutzende von Sensoren, die Daten über die Umgebung und die Position des Geräts sammeln. Diese Daten sind über die Sensors API (Android) und Core Motion (iOS) verfügbar. Sensoren werden in drei Kategorien unterteilt: Bewegungssensoren (Beschleunigungssensor, Gyroskop), Positionssensoren (Magnetometer) und Umgebungssensoren (Barometer, Licht, Temperatur).
Der Beschleunigungssensor misst die Beschleunigung des Geräts entlang dreier Achsen (x, y, z) in m/s². Er wird verwendet für: Erkennung der Bildschirmausrichtung (Autodrehung), Schrittzählung (Fußgängernavigation), Gestenerkennung (Schütteln zum Rückgängigmachen), neigungsgesteuerte Spiele. Android Sensor.TYPE_ACCELEROMETER und Core Motion CMMotionManager (iOS) liefern Rohdaten mit bis zu 200 Hz.
Das Gyroskop misst die Winkelgeschwindigkeit der Drehung des Geräts entlang dreier Achsen (rad/s). Im Gegensatz zum Beschleunigungssensor wird das Gyroskop nicht von der Schwerkraft beeinflusst, was es ideal für die Verfolgung von Drehungen macht. Anwendungen: Videostabilisierung, VR/AR-Anwendungen, Indoor-Navigation, Gamecontroller. Sensor.TYPE_GYROSCOPE (Android) und CMMotionManager (iOS) sind die wichtigsten APIs.
Das Magnetometer misst das Erdmagnetfeld entlang dreier Achsen (µT) und fungiert als elektronischer Kompass. Es wird in Navigationsanwendungen verwendet, um die Richtung nach Norden zu bestimmen. Das Magnetometer ist empfindlich gegenüber Störungen durch Metallgegenstände und Lautsprecher; eine Kalibrierung ist erforderlich (die charakteristische Achterbewegung). Sensor.TYPE_MAGNETIC_FIELD — Android-API.
Das Barometer misst den atmosphärischen Druck (hPa) und wird zur Bestimmung der Höhe über dem Meeresspiegel mit einer Genauigkeit von bis zu 1 Meter verwendet. Der Näherungssensor schaltet den Bildschirm aus, wenn das Telefon während eines Anrufs ans Ohr gehalten wird. Der Umgebungslichtsensor passt die Bildschirmhelligkeit an. Alle diese Sensoren sind über den einheitlichen SensorManager (Android) oder CMMotionManager (iOS) für die meisten Bewegungssensoren zugänglich.
Die Kamera ist eine der gefragtesten Hardwarekomponenten. Auf Android erfolgt der Zugriff über CameraX (moderne Jetpack-API) oder Camera2 (Low-Level-API). CameraX verwaltet automatisch den Lebenszyklus, unterstützt Preview, ImageCapture, ImageAnalysis (ML-Frame-Analyse) und VideoCapture. Auf iOS ist die Kamera über AVFoundation verfügbar: AVCaptureSession verwaltet die Aufnahme, AVCaptureDevice konfiguriert Parameter (Fokus, ISO, Weißabgleich).
Das Mikrofon wird für Audioaufnahmen, Sprachsteuerung und Spracherkennung verwendet. Auf Android — MediaRecorder oder AudioRecord; auf iOS — AVAudioRecorder. Der Zugriff auf Kamera und Mikrofon erfordert die Benutzererlaubnis: Manifest.permission.CAMERA und RECORD_AUDIO (Android), NSCameraUsageDescription und NSMicrophoneUsageDescription (iOS) — Zeichenfolgen in Info.plist, die den Verwendungszweck beschreiben.
Bei IT Sectr haben wir über 20 Projekte mit benutzerdefinierten Kameras implementiert: von QR-Code-Scannern bis hin zu Anwendungen mit AR-Filtern. Wichtigste Erkenntnis: Auf Android spart CameraX im Vergleich zu Camera2 Wochen an Entwicklungszeit, während auf iOS AVFoundation die vollständige Kontrolle über die Aufnahmeparameter bietet. Beispiel für eine grundlegende Bilderfassung mit CameraX:
class CameraFragment : Fragment() {
private lateinit var imageCapture: ImageCapture
fun startCamera() {
val processCameraProvider =
ProcessCameraProvider.getInstance(requireContext())
processCameraProvider.addListener({
val cameraProvider = processCameraProvider.get()
val preview = Preview.Builder()
.build()
.also {
it.setSurfaceProvider(viewFinder.surfaceProvider)
}
imageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.build()
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
cameraProvider.bindToLifecycle(
this, cameraSelector, preview, imageCapture
)
}, ContextCompat.getMainExecutor(requireContext()))
}
}
Biometrische Hardware-Funktionen ermöglichen Benutzern die Anmeldung in einer Anwendung mit einem Fingerabdruck oder Gesicht. iOS verwendet Face ID (TrueDepth-Kamera, 30.000 unsichtbare Punkte) und Touch ID (kapazitiver Fingerabdruckscanner). Android verwendet BiometricPrompt, das einen Fingerabdruckscanner (kapazitiv oder ultraschall) und Face Unlock (Kamera + ML) kombiniert. Face ID ist sicherer als Touch ID: Wahrscheinlichkeit einer Übereinstimmung 1:1.000.000 vs. 1:50.000.
NFC (Near Field Communication) ist eine drahtlose Kommunikationstechnologie mit einer Reichweite von bis zu 10 cm. Es wird verwendet für: kontaktlose Zahlungen (Google Pay, Apple Pay), Lesen von NFC-Tags (intelligente Poster, Visitenkarten), Verifizierung (Dokumente, Tickets), Datenübertragung (Android Beam — veraltet). Core NFC (iOS) und NfcAdapter (Android) sind die wichtigsten APIs. Auf iOS ist NFC nur zum Lesen verfügbar (außer Apple Pay-Zahlungen).
Bluetooth/BLE (Bluetooth Low Energy) — zum Anschließen externer Geräte: Kopfhörer, Fitnessarmbänder, medizinische Sensoren, intelligente Schlösser. Core Bluetooth (iOS) und android.bluetooth (Android) — APIs zum Scannen, Verbinden und Datenaustausch. BLE ist energieeffizient: Ein Gerät kann jahrelang mit einer Batterie betrieben werden. Auf iOS erfordert der BLE-Hintergrundbetrieb die Aktivierung von Background Modes → Uses Bluetooth LE accessories.
Gesundheits-Hardware-Funktionen: HealthKit (iOS) — Apples Framework zur Aggregation von Gesundheitsdaten. Benutzer erteilen die Erlaubnis zum Lesen und Schreiben bestimmter Datentypen: Schritte, Herzfrequenz, Schlaf, Kalorien, Gewicht, Blutdruck. Alle Daten werden in einem geschützten Repository gespeichert und über iCloud synchronisiert. HealthKit bietet eine einheitliche Schnittstelle zum Schreiben von HKQuantitySample und zum Lesen über HKSampleQuery oder HKStatisticsQuery.
Google Fit — Googles Plattform für Fitnessdaten auf Android. Die API ist in zwei Teile gegliedert: Sensors API (echte Daten von Gerätesensoren — Schritte, Kalorien) und History API (Lesen/Schreiben von Verlaufsdaten). Google Fit aggregiert auch Daten aus anderen Fitness-Apps (Strava, Runkeeper) über Autorisierung. Auf iOS ist Google Fit über die REST API verfügbar.
Core Motion (iOS) — ein Framework für die Arbeit mit Bewegungssensoren ohne dedizierten Chip: Beschleunigungssensor, Gyroskop, Schrittzähler (CMPedometer), Höhenmesser (CMAltimeter). CMPedometer zählt Schritte, zurückgelegte Strecke, Tempo und erklommene Stockwerke. Auf Android werden ähnliche Funktionen von Sensor.TYPE_STEP_COUNTER und Step Detector bereitgestellt. Alle Fitnessdaten erfordern die ausdrückliche Zustimmung des Benutzers.
Augmented Reality (AR) und maschinelles Lernen auf dem Gerät stellen den Höhepunkt der Smartphone-Hardware-Fähigkeiten dar. ARKit (Apple, iOS 11+) verwendet Kamera, Gyroskop, Beschleunigungssensor und LiDAR (auf Pro-Modellen) zur Verfolgung des umgebenden Raums. ARCore (Google) ist das Android-Äquivalent mit Ebenenverfolgung, Bilderkennung und Beleuchtungsschätzung. Beide Frameworks verwenden Visual Inertial Odometry (VIO) — eine Kombination aus Kamera und Trägheitssensoren.
ML Kit (Google) — SDK für maschinelles Lernen auf Android und iOS. Enthält fertige APIs: Texterkennung (OCR), Barcode-Scannen, Gesichtserkennung, Haltungsdetektion, Objektverfolgung, Bildtexterkennung und Verarbeitung natürlicher Sprache. ML Kit funktioniert vollständig auf dem Gerät — Daten werden nicht an den Server gesendet, was Datenschutz und Offline-Funktionalität gewährleistet.
Core ML (Apple) — Framework zur Integration von ML-Modellen in iOS-Anwendungen. Modelle (mlmodel) werden über Core ML Tools aus TensorFlow, PyTorch oder Keras konvertiert. Vision — Framework für Computer Vision: Gesichtserkennung, Text, Barcodes, horizontale Ausrichtung. Die Kombination von Vision und Core ML ermöglicht den Aufbau von Echtzeit-ML-Pipelines: Frame-Erfassung → Vision-Analyse → Core ML-Vorhersage → UI-Aktualisierung — alles auf dem Gerät mit einer Latenz von unter 50 ms.
Häufig gestellte Fragen
Ein modernes Smartphone enthält einen Beschleunigungssensor, Gyroskop, Magnetometer (Kompass), Barometer, Näherungssensor, Umgebungslichtsensor, Fingerabdruckscanner, Kamera, Mikrofon, NFC, Bluetooth, Wi-Fi, GPS. Flaggschiff-Modelle haben auch LiDAR, Herzfrequenzmesser und Temperatursensor.
Face ID ist die biometrische Gesichtserkennung mit der TrueDepth-Kamera (30.000-Punkt-Projektion). Touch ID ist die Fingerabdruckerkennung über einen kapazitiven Scanner. Face ID ist sicherer (1 zu 1.000.000 vs. 1 zu 50.000) und funktioniert ohne Kontakt.
Der moderne Ansatz ist CameraX (Jetpack-Bibliothek). CameraX vereinfacht die Kamerarbeit: Es verwaltet automatisch den Lebenszyklus, unterstützt Preview, ImageCapture, ImageAnalysis und VideoCapture. Für ältere Projekte wird die Camera2-API verwendet.
NFC ermöglicht: Lesen und Schreiben von NFC-Tags (intelligente Poster, Visitenkarten), kontaktlose Zahlungen (Google Pay, Apple Pay), Datenübertragung zwischen Geräten, Dokumentenverifizierung, Türöffnung, Nutzung von Fahrkarten. Auf iOS ist NFC nur zum Lesen verfügbar (außer Apple Pay).
ARKit ist Apples Framework für Augmented Reality auf iOS. ARCore ist Googles Äquivalent für Android. Beide unterstützen Ebenenverfolgung, Bilderkennung und Beleuchtungsschätzung. ARKit verwendet LiDAR (auf iPad Pro/iPhone Pro) für eine genauere Positionierung.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.