27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Sensörler
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android sensörleri, uygulamalara mobil cihazın temel fiziksel sensörlerine erişim sağlar. Bunlar, sensör donanım soyutlama katmanı (HAL) olan sensors.h tarafından tanımlanan veri sağlayan sanal cihazlardır.
Android sensörleri nedir?
Android sensörleri, bir dizi fiziksel sensörden (ivme ölçerler, jiroskoplar, manyetometreler, barometre, nem, basınç, ışık, yakınlık ve nabız sensörleri) gelen verileri sağlayan sanal cihazlardır.
Veri sağlayan fiziksel cihazlar listesine kamera, parmak izi sensörü, mikrofon ve dokunmatik ekran dahil değildir. Bu cihazların kendi raporlama mekanizmaları vardır. Ayrım keyfidir ancak genel olarak Android sensörleri daha düşük bant genişliği verileri sağlar. Örneğin, bir ivmeölçer için "100 Hz x 3 kanal", kamera için "25 Hz x 8 MP x 3 kanal" veya mikrofon için "44 kHz x 1 kanal".
Android, farklı fiziksel sensörlerin çip üzerinde sisteme (SoC) nasıl bağlandığını tanımlamaz.
- Sensör çipleri genellikle bir sensör merkezi aracılığıyla SoC'ye bağlanır. Bu sayede, verilerin düşük güçle izlenmesi ve işlenmesi sağlanır.
- Taşıma mekanizması olarak genellikle Entegre Devreler Arası Bağlantı (I2C) veya Seri Çevresel Arabirim (SPI) kullanılır.
- Güç tüketimini azaltmak için bazı mimariler hiyerarşiktir. Bu mimarilerde, uygulamaya özel entegre devrede (ASIC - ivme ölçer çipindeki hareket algılama gibi) minimum düzeyde işlem yapılır ve daha fazla işlem mikrodenetleyicide (sensör merkezindeki adım algılama gibi) gerçekleştirilir.
- Doğruluk, güç, fiyat ve paket boyutu özelliklerine göre bir mimari seçmek cihaz üreticisine bağlıdır. Daha fazla bilgi için Sensör grubu bölümüne bakın.
- Gruplandırma özellikleri, güç optimizasyonu için dikkate alınması gereken önemli bir unsurdur. Daha fazla bilgi için Gruplandırma bölümüne bakın.
Her Android sensörünün, sensörün nasıl davrandığını ve hangi verileri sağladığını temsil eden bir "türü" vardır.
- Resmi Android sensör türleri, sensors.h dosyasında SENSOR_TYPE_… adlarıyla tanımlanır.
- Sensörlerin büyük bir çoğunluğu resmi bir sensör türüne sahiptir.
- Bu türler Android SDK'sında açıklanmıştır.
- Bu türlere sahip sensörlerin davranışı Android Uyumluluk Test Paketi'nde (CTS) test edilir.
- Bir üretici, Android cihaza yeni bir tür sensör entegre ederse bu sensörü belirtmek için kendi geçici türünü tanımlayabilir.
- Bu türlerin dokümanları olmadığından uygulama geliştiricileri bu türleri bilmedikleri veya nadiren kullanıldıklarını bildikleri (yalnızca bu üreticiye ait bazı cihazlarda) için kullanmaları olası değildir.
- Bu cihazlar CTS tarafından test edilmez.
- Android bu tür sensörler için resmi bir sensör türü tanımladığında, üreticiler kendi geçici türlerini kullanmayı bırakıp bunun yerine resmi türü kullanmalıdır. Bu sayede sensör daha fazla uygulama geliştiricisi tarafından kullanılacaktır.
- Cihazdaki tüm sensörlerin listesi HAL uygulaması tarafından bildirilir.
- Aynı türde birden fazla sensör olabilir. Örneğin, iki yakınlık sensörü veya iki ivme ölçer.
- Uygulamaların büyük çoğunluğu, belirli bir türde yalnızca tek bir sensör ister. Örneğin, varsayılan ivmeölçeri isteyen bir uygulama listedeki ilk ivmeölçeri alır.
- Sensörler genellikle uyandırma ve uyandırmama çiftleriyle tanımlanır. Bu çiftlerdeki sensörler aynı türü paylaşır ancak uyandırma özelliklerine göre farklılık gösterir.
Android sensörleri, verileri bir dizi sensör etkinliği olarak sağlar.
Her etkinlik şunu içerir:
Bildirilen verilerin yorumlanması sensör türüne bağlıdır. Her sensör türü için hangi verilerin raporlandığıyla ilgili ayrıntılar için sensör türü tanımlarına bakın.
Mevcut dokümanlar
Geliştiricileri hedefliyor
- Genel bakış
- SDK referansı
- Stack Overflow ve eğitim web siteleri
- Sensör dokümanları bazen eksik olduğundan geliştiriciler, yanıt bulmak için Stack Overflow gibi soru-cevap web sitelerine başvuruyordu.
- Bazı eğitim web siteleri de vardır ancak gruplandırma, belirgin hareket ve oyun rotasyon vektörleri gibi en son özellikleri kapsamaz.
- Bu sayfadaki yanıtlar her zaman doğru değildir ve daha fazla dokümana ihtiyaç duyulan yerleri gösterir.
Üreticilere yönelik
- Genel bakış
- Donanım soyutlama katmanı (HAL)
- Android CDD (Uyumluluk Tanımlama Belgesi)
- /compatibility/android-cdd.pdf
- Sensörlerle ilgili bölümleri inceleyin.
- CDD esnek olduğundan, yüksek kaliteli sensörler sağlamak için CDD şartlarını karşılamak yeterli değildir.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Sensors\n\nAndroid sensors give applications access to a mobile device's underlying\nphysical sensors. They are data-providing virtual devices defined by [sensors.h](https://android.googlesource.com/platform/hardware/libhardware/+/android16-release/include/hardware/sensors.h), the sensor Hardware Abstraction Layer (HAL).\n\nWhat are Android sensors?\n-------------------------\n\nAndroid sensors are virtual devices that provide data coming from a set of\nphysical sensors: accelerometers, gyroscopes, magnetometers, barometer, humidity,\npressure, light, proximity and heart rate sensors.\n\nNot included in the list of physical devices providing data are camera,\nfingerprint sensor, microphone, and touch screen. These devices have their own\nreporting mechanism; the separation is arbitrary, but in general, Android sensors\nprovide lower bandwidth data. For example, \"100hz x 3 channels\" for an\naccelerometer versus \"25hz x 8 MP x 3 channels\" for a camera or \"44kHz x 1\nchannel\" for a microphone.\n\nAndroid does not define how the different physical sensors are connected\nto the system on chip (SoC).\n\n- Often, sensor chips are connected to the SoC through a [sensor hub](/docs/core/interaction/sensors/sensor-stack#sensor_hub), allowing some low-power monitoring and processing of the data.\n- Often, Inter-Integrated Circuit (I2C) or Serial Peripheral Interface (SPI) is used as the transport mechanism.\n- To reduce power consumption, some architectures are hierarchical, with some minimal processing being done in the application-specific integrated circuit (ASIC - like motion detection on the accelerometer chip), and more is done in a microcontroller (like step detection in a sensor hub).\n- It is up to the device manufacturer to choose an architecture based on accuracy, power, price and package-size characteristics. See [Sensor stack](/docs/core/interaction/sensors/sensor-stack) for more information.\n- Batching capabilities are an important consideration for power optimization. See [Batching](/docs/core/interaction/sensors/batching) for more information.\n\nEach Android sensor has a \"type\" representing how the sensor behaves and\nwhat data it provides.\n\n- The official Android [Sensor\n types](/docs/core/interaction/sensors/sensor-types) are defined in [sensors.h](https://android.googlesource.com/platform/hardware/libhardware/+/android16-release/include/hardware/sensors.h) under the names SENSOR_TYPE_...\n - The vast majority of sensors have an official sensor type.\n - Those types are documented in the Android SDK.\n - Behavior of sensors with those types are tested in the Android Compatibility Test Suite (CTS).\n- If a manufacturer integrates a new kind of sensor on an Android device, the manufacturer can define its own temporary type to refer to it.\n - Those types are undocumented, so application developers are unlikely to use them, either because they don't know about them, or know that they are rarely present (only on some devices from this specific manufacturer).\n - They are not tested by CTS.\n - Once Android defines an official sensor type for this kind of sensor, manufacturers must stop using their own temporary type and use the official type instead. This way, the sensor will be used by more application developers.\n- The list of all sensors present on the device is reported by the HAL implementation.\n - There can be several sensors of the same type. For example, two proximity sensors or two accelerometers.\n - The vast majority of applications request only a single sensor of a given type. For example, an application requesting the default accelerometer will get the first accelerometer in the list.\n - Sensors are often defined by [wake-up](/docs/core/interaction/sensors/suspend-mode#wake-up_sensors) and [non-wake-up](/docs/core/interaction/sensors/suspend-mode#non-wake-up_sensors) pairs, both sensors sharing the same type, but differing by their wake-up characteristic.\n\nAndroid sensors provide data as a series of sensor events.\n\nEach [event](/docs/core/interaction/sensors/hal-interface#sensors_event_t)\ncontains:\n\n- a handle to the sensor that generated it\n- the timestamp at which the event was detected or measured, based on [`SystemClock.elapsedRealtimeNanos()`](https://developer.android.com/reference/android/os/SystemClock#elapsedRealtimeNanos())\n- and some data\n\nThe interpretation of the reported data depends on the sensor type. See\nthe [sensor type](/docs/core/interaction/sensors/sensor-types)\ndefinitions for details on what data is reported for each sensor type.\n\nExisting documentation\n----------------------\n\n### Targeted at developers\n\n- Overview\n - \u003chttps://developer.android.com/guide/topics/sensors/sensors_overview.html\u003e\n- SDK reference\n - \u003chttps://developer.android.com/reference/android/hardware/SensorManager\u003e\n - \u003chttps://developer.android.com/reference/android/hardware/SensorEventListener\u003e\n - \u003chttps://developer.android.com/reference/android/hardware/SensorEvent\u003e\n - \u003chttps://developer.android.com/reference/android/hardware/Sensor\u003e\n- Stack Overflow and tutorial websites\n - Because sensors documentation was sometimes lacking, developers resorted to Q\\&A websites like Stack Overflow to find answers.\n - Some tutorial websites exist as well, but do not cover the latest features like batching, significant motion and game rotation vectors.\n - The answers over there are not always right, and show where more documentation is needed.\n\n### Targeted at manufacturers\n\n- Overview\n - This [Sensors](/docs/core/interaction/sensors) page and its sub-pages.\n- Hardware abstraction layer (HAL)\n - [/platform/hardware/libhardware/+/android16-release/include/hardware/sensors.h](https://android.googlesource.com/platform/hardware/libhardware/+/android16-release/include/hardware/sensors.h)\n - Also known as \"sensors.h\"\n - The source of truth. First document to be updated when new features are developed.\n- Android CDD (Compatibility Definition Document)\n - [/compatibility/android-cdd.pdf](/static/docs/compatibility/android-cdd.pdf)\n - See sections relative to sensors.\n - The CDD is lenient, so satisfying the CDD requirements is not enough to ensure high quality sensors."]]