A közelségérzékelő egy infravörös szenzor, amely fizikai érintkezés nélkül érzékeli egy tárgy jelenlétét az okostelefon képernyője előtt. Fő funkciója a kijelző kikapcsolása telefonbeszélgetés közben, hogy megakadályozza az arc véletlen érintését és kímélje az akkumulátort. A Google Android Developer Guide, 2024 szerint a modern közelségérzékelők 0 és 10 cm közötti távolságot mérnek 0.5 cm-es pontossággal és 50 ms-nál kisebb válaszidővel.
Főbb pontok
A közelségérzékelő (proximity sensor) egy érintés nélküli infravörös szenzor, amely az okostelefon előlapjának felső részében, a beszédhangszóró mellett található. Infravörös LED-ből (IR LED) és fotodetektorból (fotodióda vagy fototranzisztor) áll. Az első tömeggyártású okostelefon közelségérzékelővel az Apple iPhone (2007) volt — azóta az érzékelő az összes modern telefon kötelező alkatrészévé vált.
Az érzékelő általában a képernyő üvege alatt van elrejtve, és csak bizonyos szögben látható apró pontként. A modern modellekben keskeny iránykarakterisztikájú (15–30 fokos) optikai modult használnak, hogy kizárják az üvegben lévő tükröződésekből adódó hamis leolvasásokat. Gyártók — Sharp, ams OSRAM (TMD sorozat), Silicon Labs és szerződéses partnereik.
| Paraméter | Érték |
|---|---|
| Hullámhossz | 850–940 nm (láthatatlan IR tartomány) |
| Hatótáv | 0–10 cm |
| Felbontás | 0.5 cm |
| Fogyasztás | 0.3–0.7 mA |
| Válaszidő | 10–50 ms |
A mobileszközökben diszkrét érzékelőket (külön IR LED + fotodióda chip) és integrált modulokat (mindkét elem egy chipen) használnak. Az integrált megoldásokat (ams TMD2635, mérete 1×1×0.5 mm) a modern zászlóshajók ultravékony házaiban alkalmazzák, és minimális helyet foglalnak a kártyán.
A közelségérzékelő működési elve a visszavert IR-sugárzás intenzitásának mérésén alapul. Az infravörös LED fényimpulzust bocsát ki (850–940 nm), a fotodióda pedig megméri a tárgyról visszavert fény mennyiségét. Ha a visszavert jel meghaladja a küszöbértéket — a tárgy közelinek minősül (kevesebb, mint 3–5 cm).
A fő műszaki probléma a nappali fény és más IR-forrásokból származó interferencia. A megoldás — a sugárzás modulációja: az IR LED 10–100 kHz frekvenciájú impulzusokat bocsát ki, a fotodetektor pedig szinkron módon érzékeli a jelet, kiszűrve az egyenáramú összetevőt. Az ams Application Note AN000610 (2024) szerint a szinkron érzékelési séma 40–60 dB-lel nyomja el a háttérfényt.
A működési küszöbértéket a gyártó állítja be a kalibrációs szakaszban, és a képernyő üvegének átlátszóságától függ. Tipikus küszöbérték — a visszaverődés 2–4 cm-es távolságnak felel meg. Amikor az ujj vagy a fül a küszöbértéknél kisebb távolságra van, az érzékelő 0 értéket ad vissza (közel), ellenkező esetben — a maximális tartományértéket (modelltől függően 8–10 cm).
Közelségérzékelő (IR proximity) a visszaverődés intenzitását méri — bináris érzékelő két állapottal. Time-of-Flight (ToF) a fény tárgyhoz való eljutásának és visszaérkezésének idejét méri, ami lehetővé teszi a távolság pontos meghatározását akár több méterig. A mobileszközökben a ToF-érzékelőket (VL53L5 a STMicroelectronics-tól) a kamera autofókuszához és AR-alkalmazásokhoz használják.
A képernyő kikapcsolása hívás közben feladathoz elegendő egy egyszerű bináris IR-érzékelő — költsége 0.10–0.30 dollár, míg egy ToF-modul 1–3 dollár. A ToF-érzékelő pontos távolságmérő funkciót ad hozzá, de felesleges az alapfeladathoz. Néhány zászlóshajóban (Samsung Galaxy S23 Ultra) kombinált modulokat használnak, amelyek mindkét technológiát egyesítik.
| Paraméter | IR Proximity | ToF érzékelő |
|---|---|---|
| Elv | Visszaverődés intenzitása | Fény repülési ideje |
| Hatótáv | 0–10 cm | 0–400 cm |
| Pontosság | 0.5 cm | 0.1 cm |
| Költség | $0.10–0.30 | $1–3 |
| Alkalmazás | Képernyő hívásnál | Autofókusz, AR |
Az Android a Sensor.TYPE_PROXIMITY segítségével biztosít hozzáférést a közelségérzékelőhöz. Az API jellemzője, hogy az érzékelő csak két gyakorlatilag jelentős értéket ad vissza: 0 (tárgy közel) és a maximális hatótáv értéke (általában 5–10 cm) tárgy hiányában. A belső algoritmusok elrejtik a jel analóg természetét.
Az érzékelő bináris természete azt jelenti, hogy az alkalmazás nem kaphat pontos távolságot a tárgytól — csak az akadály jelenlétét vagy hiányát az érzékenységi zónában. Ez hardverkorlátozás. Pontosabb mérésekhez használja a ToF-érzékelőt (ha elérhető) a standard TYPE_PROXIMITY API-n keresztül, de a ToF-fel rendelkező eszközökön az analóg értékeket ad vissza.
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
)
A közelségérzékelő regisztrálásakor fontos a SCREEN_OFF_WAKE_LOCK használata, ha az alkalmazásnak kikapcsolt képernyő mellett kell működnie (pl. hívásrögzítés). Wake Lock nélkül a CPU alvó módba kapcsolhat, és az érzékelő adatai nem érkeznek meg. A SENSOR_DELAY_UI (200 ms) jelző elegendő a legtöbb forgatókönyvhöz.
Bár az érzékelő fő funkciója a képernyő kikapcsolása hívás közben, a fejlesztők kreatívabb felhasználási módokat találnak. A Glimmer alkalmazás a közelségérzékelőt használja a számok váltásához kézmozdulattal a képernyő előtt — mozgassa a tenyerét a szám átugrásához. Az akkumulátor töltése nem szenved: az érzékelő energiafogyasztása mindössze 0.3–0.7 mA.
A közelségérzékelők fő problémája a hamis leolvasások védőüvegek és tokok használata esetén. Egyes gyártók (Google Pixel 8, 2023) ultrahangos közelségérzékelőt használnak IR helyett — ez bármilyen védőüvegen és bármilyen vastagságú képernyőn keresztül működik, de kisebb pontossággal és nagyobb késleltetéssel (akár 100 ms). A vastag üveg (több mint 0.5 mm) szétszórja az IR-sugárzást, folyamatos aktiválódást okozva. Megoldás — az érzékelőhöz precíz kivágással rendelkező tokok használata. Második hátrány — a változó átlátszóságú OLED-képernyőkön (under-display sensor) keresztüli működésképtelenség.
2024–2025-ben a gyártók elkezdték bevezetni a kijelző alatti közelségérzékelőket (under-display), ami lehetővé tette az okostelefon felső keretének 1–2 mm-re csökkentését. Az első sorozatgyártású under-display proximity készülék a Xiaomi 14 Ultra (2024) volt, ezt követte a OnePlus 12 és a Samsung Galaxy S25. A technológia 940 nm hullámhosszú IR-sugárzást használ, amely részben áthalad az OLED-kijelző pixelein. A Samsung Display Technical Paper (2024) szerint az OLED IR-sugárzással szembeni átlátszósága 15–25% — ez elegendő az érzékelő működéséhez 600 cd/m² képernyőfényerőig. Nagyobb fényerőnél a mátrix átlátszatlanná válik IR-re, és az érzékelőnek ki kell kapcsolnia a háttérvilágítást 1–2 kockára a méréshez.
Android-alkalmazások fejlesztésekor az emulátor nem támogatja a közelségérzékelőt — azt szoftveresen kell emulálni. Fizikai eszközön a hibakereséshez használható az adb parancs: adb shell sendevent /dev/input/eventX a megfelelő ABS_MT_TOUCH_MAJOR kódokkal. A képernyő hívás közbeni kikapcsolásának szimulálásához tesztekben használjon SensorManager-t egy mock objektummal, amely a 0 értéket adja vissza az onSensorChanged hívásakor.
A közelségérzékelő ellenőrzéséhez Android-eszközön nyissa meg a Telefon alkalmazást, tárcsázza a *#0*# (Samsungon) és válassza a Sensor lehetőséget. Az ujjnak a képernyő felső részéhez közelítésekor az érzékelő értékének «Far»-ról «Near»-ra kell változnia. Ha az érzékelő nem reagál — törölje le a képernyő felső részét, és ellenőrizze, hogy védőüveg nem takarja-e az érzékelőt. iPhone-on az ellenőrzés a rendszerdiagnosztikán keresztül történik a beállításokban.
Gyakran Ismételt Kérdések
Leggyakrabban a védőüveg vagy a tok a probléma, amelyek eltakarják a közelségérzékelőt. Győződjön meg arról, hogy a beszédhangszóró melletti terület nincs elzárva. Ha a probléma csupasz telefonon jelentkezik – lehetséges hardverhiba vagy az érzékelő szennyeződése.
Az érzékelő az előlap felső részében, a beszédhangszóró mellett található. A modern okostelefonokban a képernyő üvege alá van rejtve. Egy erős zseblámpával szögben bevilágítva látható — apró pontként vagy résként jelenik meg.
Az Android szabványos eszközeivel — nem. Vannak azonban olyan alkalmazások, amelyek a mérnöki menün keresztül (tárcsázza a *#0*#-ot Samsungon) biztosítanak hozzáférést teszteléshez. Egyes eszközökön az érzékenység a szervizmódon keresztül állítható.
A közelségérzékelő szabványos API-ja csak az érzékelés tényét adja vissza — 0 vagy maxRange. A pontos távolság eléréséhez használja a Time-of-Flight érzékelőt (ha az eszköz fel van szerelve vele) — ugyanazon a TYPE_PROXIMITY-n keresztül érhető el a kompatibilis eszközökön.
Az üveg vastagságától és anyagától függ. A vékony, hajlékony üvegek (0.15–0.2 mm) nem befolyásolják a működést. A vastag edzett üvegek (0.5+ mm) szétszórhatják az IR-sugárzást, és hamis aktiválódást okozhatnak. Az érzékelő körül precíz kivágással vagy fekete kerettel ellátott üvegek ajánlottak.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is