En närhetssensor är en infraröd sensor som upptäcker närvaron av ett objekt framför smartphonens skärm utan fysisk kontakt. Huvudfunktionen är att stänga av displayen under ett telefonsamtal för att förhindra oavsiktliga tryckningar med kinden och spara batteri. Enligt Google Android Developer Guide, 2024 mäter moderna närhetssensorer avstånd från 0 till 10 cm med noggrannhet på 0.5 cm och svarstid under 50 ms.
Huvudpunkter
Närhetssensor (proximity sensor) är en beröringsfri infraröd sensor placerad i den övre delen av smartphonens frontpanel, bredvid samtalshögtalaren. Den består av en infraröd LED (IR LED) och en fotodetektor (fotodiod eller fototransistor). Den första massproducerade smartphonen med närhetssensor var Apple iPhone (2007) — sedan dess har sensorn blivit en obligatorisk komponent i alla moderna telefoner.
Sensorn är vanligtvis dold under skärmglaset och syns endast i en viss vinkel som en liten prick. I moderna modeller används en optisk modul med smal strålningsvinkel (15–30 grader) för att utesluta falska avläsningar från reflexer i glaset. Tillverkare — Sharp, ams OSRAM (serie TMD), Silicon Labs och deras kontraktspartners.
| Parameter | Värde |
|---|---|
| Våglängd | 850–940 nm (osynligt IR-område) |
| Räckvidd | 0–10 cm |
| Upplösning | 0.5 cm |
| Förbrukning | 0.3–0.7 mA |
| Svarstid | 10–50 ms |
I mobila enheter används diskreta sensorer (separat IR LED + fotodiod-chip) och integrerade moduler (båda elementen på ett chip). Integrerade lösningar (ams TMD2635, storlek 1×1×0.5 mm) används i ultratunna höljen på moderna flaggskepp och tar minimalt med plats på kretskortet.
Funktionsprincipen för närhetssensorn bygger på mätning av intensiteten hos reflekterad IR-strålning. Den infraröda LED:en sänder ut en ljuspuls (850–940 nm) och fotodioden mäter mängden ljus som reflekteras från objektet. Om den reflekterade signalen överstiger ett tröskelvärde — anses objektet vara nära (mindre än 3–5 cm).
Det främsta tekniska problemet är solljus och störningar från andra IR-källor. Lösningen — modulering av strålningen: IR LED:en sänder ut pulser med frekvensen 10–100 kHz och fotodetektorn detekterar signalen synkront och filtrerar bort DC-komponenten. Enligt ams Application Note AN000610 (2024) undertrycker den synkrona detekteringskretsen bakgrundsljus med 40–60 dB.
Tröskelvärdet för aktivering ställs in av tillverkaren i kalibreringsfasen och beror på skärmglasets genomskinlighet. Typiskt tröskelvärde — reflektionen motsvarar ett avstånd på 2–4 cm. När fingret eller örat befinner sig på ett avstånd mindre än tröskelvärdet returnerar sensorn värdet 0 (nära), annars — det maximala räckviddsvärdet (8–10 cm beroende på modell).
Närhetssensor (IR proximity) mäter reflektionsintensiteten — en binär sensor med två tillstånd. Time-of-Flight (ToF) mäter tiden det tar för ljus att färdas till ett objekt och tillbaka, vilket möjliggör noggrann avståndsmätning upp till flera meter. I mobila enheter används ToF-sensorer (VL53L5 från STMicroelectronics) för kameraautofokus och AR-applikationer.
För uppgiften att stänga av skärmen under ett samtal räcker en enkel binär IR-sensor — dess kostnad är 0.10–0.30 dollar jämfört med 1–3 dollar för en ToF-modul. En ToF-sensor lägger till en noggrann avståndsmätningsfunktion men är överflödig för grunduppgiften. I vissa flaggskepp (Samsung Galaxy S23 Ultra) används kombinerade moduler som förenar båda teknologierna.
| Parameter | IR Proximity | ToF-sensor |
|---|---|---|
| Princip | Reflektionsintensitet | Ljuspulstid |
| Räckvidd | 0–10 cm | 0–400 cm |
| Noggrannhet | 0.5 cm | 0.1 cm |
| Kostnad | $0.10–0.30 | $1–3 |
| Användning | Skärm vid samtal | Autofokus, AR |
Android ger åtkomst till närhetssensorn via Sensor.TYPE_PROXIMITY. Utmärkande för API:et är att sensorn endast returnerar två praktiskt betydelsefulla värden: 0 (objekt nära) och det maximala räckviddsvärdet (vanligtvis 5–10 cm) när inget objekt finns. Interna algoritmer döljer signalens analoga natur.
Sensorns binära natur innebär att applikationen inte kan få det exakta avståndet till objektet — endast fakta om närvaro eller frånvaro av ett hinder i känslighetszonen. Detta är en hårdvarubegränsning. För noggrannare mätningar, använd ToF-sensorn (om tillgänglig) via standard API TYPE_PROXIMITY, men på enheter med ToF returnerar den analoga värden.
val proximitySensor = sensorManager
.getDefaultSensor(Sensor.TYPE_PROXIMITY)
sensorManager.registerListener(
object : SensorEventListener {
override fun onSensorChanged(event: SensorEvent) {
val distance = event.values[0]
val maxRange = proximitySensor?.maximumRange ?: 10f
when {
distance < maxRange -> lockScreen()
else -> unlockScreen()
}
}
override fun onAccuracyChanged(
sensor: Sensor, accuracy: Int
) {}
},
proximitySensor,
SensorManager.SENSOR_DELAY_UI
)
Vid registrering av närhetssensorn är det viktigt att använda SCREEN_OFF_WAKE_LOCK om applikationen måste fortsätta fungera med avstängd skärm (t.ex. samtalsinspelning). Utan Wake Lock kan processorn gå i viloläge och sensordata slutar komma in. Flaggan SENSOR_DELAY_UI (200 ms) är tillräcklig för de flesta scenarier.
Även om sensorns huvudfunktion är att stänga av skärmen under samtal hittar utvecklare mer kreativa användningsområden. Appen Glimmer använder närhetssensorn för att byta låtar med en handrörelse framför skärmen — rör handflatan för att hoppa över en låt. Batteriladdningen påverkas inte: sensorns energiförbrukning är endast 0.3–0.7 mA.
Huvudproblemet med närhetssensorer är falska avläsningar vid användning av skyddsglas och fodral. Vissa tillverkare (Google Pixel 8, 2023) använder en ultraljudsnärhetssensor istället för IR — den fungerar genom alla skyddsglas och skärmar oavsett tjocklek, men har lägre noggrannhet och större fördröjning (upp till 100 ms). Tjockt glas (mer än 0.5 mm) sprider IR-strålning och orsakar kontinuerlig aktivering. Lösningen — använd fodral med precis urtag för sensorn. Andra nackdelen — oförmåga att fungera genom OLED-skärmar med variabel transparens (under-display sensor).
Under 2024–2025 började tillverkare implementera närhetssensorer under displayen (under-display), vilket möjliggjorde minskning av smartphonens övre ram till 1–2 mm. Den första serieproducerade enheten med under-display proximity var Xiaomi 14 Ultra (2024), följd av OnePlus 12 och Samsung Galaxy S25. Tekniken använder IR-strålning med våglängden 940 nm som delvis passerar genom OLED-skärmens pixlar. Enligt Samsung Display Technical Paper (2024) är OLED-genomskinligheten för IR-strålning 15–25% — tillräckligt för sensorns funktion vid skärmljusstyrka upp till 600 cd/m². Vid högre ljusstyrka blir matrisen ogenomskinlig för IR och sensorn kräver avstängning av bakgrundsbelysningen i 1–2 bildrutor för mätning.
Vid utveckling av applikationer i Android stöder emulatorn inte närhetssensorn — den måste emuleras programmatiskt. På en fysisk enhet för felsökning kan adb-kommandot användas: adb shell sendevent /dev/input/eventX med motsvarande ABS_MT_TOUCH_MAJOR-koder. För simulering av avstängning av skärmen under samtal i tester, använd SensorManager med ett mock-objekt som returnerar värdet 0 vid anrop av onSensorChanged.
För att kontrollera närhetssensorn på en Android-enhet, öppna Telefon-appen, slå *#0*# (på Samsung) och välj alternativet Sensor. När fingret närmar sig den övre delen av skärmen bör sensorns värde ändras från «Far» till «Near». Om sensorn inte reagerar — torka av den övre delen av skärmen och kontrollera om skyddsglas täcker sensorn. På iPhone utförs kontrollen via systemdiagnostik i inställningarna.
Vanliga frågor
Oftast är problemet skyddsglas eller fodral som täcker närhetssensorn. Se till att området bredvid samtalshögtalaren inte är blockerat. Om problemet uppstår på en bar telefon — är möjligt ett hårdvarufel eller smuts på sensorn.
Sensorn sitter i den övre delen av frontpanelen, bredvid samtalshögtalaren. I moderna smartphones är den dold under skärmglaset. Den kan ses genom att lysa med en stark ficklampa i vinkel — den ser ut som en liten prick eller springa.
Med Androids standardverktyg — nej. Det finns dock appar med åtkomst via ingenjörsmenyn (slå *#0*# på Samsung) för testning. På vissa enheter kan känsligheten justeras via serviceläget.
Standard API för närhetssensorn returnerar endast detektionsfakta — 0 eller maxRange. För att få exakt avstånd, använd Time-of-Flight-sensorn (om enheten är utrustad) — tillgänglig via samma TYPE_PROXIMITY på kompatibla enheter.
Beroende på glasets tjocklek och material. Tunna flexibla glas (0.15–0.2 mm) påverkar inte funktionen. Tjocka härdade glas (0.5+ mm) kan sprida IR-strålning och orsaka falsk aktivering. Rekommenderade är glas med precis urtag eller svart ram runt sensorn.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också