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.
Raporlama modları
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Sensörler, raporlama modları adı verilen farklı şekillerde etkinlik oluşturabilir. Her sensör türünün kendisiyle ilişkili yalnızca bir raporlama modu vardır.
Dört raporlama modu vardır.
Sürekli
Etkinlikler, batch
işlevine iletilen sampling_period_ns
parametresi tarafından tanımlanan sabit bir hızda oluşturulur. Sürekli raporlama modunu kullanan örnek sensörler ivme ölçerler ve jiroskoplardır.
Değişiklik yapıldığında
Etkinlikler yalnızca ölçülen değerler değiştiyse oluşturulur.
Sensörü HAL düzeyinde etkinleştirmek (activate(..., enable=1)
çağrısı yapmak) da bir etkinlik tetikler. Yani HAL, değişiklik algılayan bir sensör etkinleştirildiğinde hemen bir etkinlik döndürmelidir. Değişiklik raporlama modunu kullanan örnek sensörler arasında adım sayar, yakınlık ve nabız sensörü türleri bulunur.
batch
işlevine iletilen sampling_period_ns
parametresi, art arda gerçekleşen etkinlikler arasındaki minimum süreyi ayarlamak için kullanılır. Yani, değer o zamandan beri değişmiş olsa bile son etkinlikten sampling_period_ns
nanosaniye geçene kadar etkinlik oluşturulmaz. Değer değişirse son etkinlikten sampling_period_ns
süre geçtikten sonra bir etkinlik oluşturulmalıdır.
Örneğin:
- Adım sayıcıyı
sampling_period_ns = 10 * 10^9
ile etkinleştiririz (10 saniye).
- 55 saniye boyunca yürüyüp bir dakika boyunca hareketsiz kalırız.
- Etkinlikler, ilk dakika boyunca yaklaşık 10 saniyede bir (sensörün etkinleştirilmesi nedeniyle
t=0
saniye ve t=60
saniye dahil) oluşturulur ve toplam yedi etkinlik oluşur. Adım sayısı t=60
saniye sonra değişmediğinden ikinci dakikada etkinlik oluşturulmaz.
Tek seferlik
Sensör, bir etkinlik algıladığında kendini devre dışı bırakır ve ardından HAL üzerinden tek bir etkinlik gönderir. Yarışma koşullarını önlemek için sıra önemlidir.
(Sensör, HAL üzerinden etkinlik bildirilmeden önce devre dışı bırakılmalıdır.) Sensör yeniden etkinleştirilene kadar başka etkinlik gönderilmez.
Önemli hareket bu tür bir sensöre örnektir.
Tek seferlik sensörlere bazen tetikleyici sensörler denir.
batch
işlevine iletilen sampling_period_ns
ve max_report_latency_ns
parametreleri yoksayılır. Tek seferlik etkinliklerden gelen etkinlikler donanım FIFO'larında depolanamaz. Etkinlikler oluşturulur oluşturulmaz raporlanmalıdır.
Özel
Etkinliklerin ne zaman oluşturulduğuyla ilgili ayrıntılar için sensör türü açıklamalarına bakın.
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,["# Reporting modes\n\nSensors can generate events in different ways called reporting modes;\neach sensor type has one and only one reporting mode associated with it.\nFour reporting modes exist.\n\nContinuous\n----------\n\nEvents are generated at a constant rate defined by the\n[sampling_period_ns](/docs/core/interaction/sensors/batching#sampling_period_ns)\nparameter passed to the `batch` function. Example sensors\nusing the continuous reporting mode are\n[accelerometers](/docs/core/interaction/sensors/sensor-types#accelerometer)\nand [gyroscopes](/docs/core/interaction/sensors/sensor-types#gyroscope).\n\nOn-change\n---------\n\nEvents are generated only if the measured values have changed.\nActivating the sensor at the HAL level (calling\n`activate(..., enable=1)` on it) also triggers an event,\nmeaning the HAL must return an event immediately when an on-change sensor\nis activated. Example sensors using the on-change reporting mode are the\nstep counter, proximity, and heart rate sensor types.\n\nThe\n[sampling_period_ns](/docs/core/interaction/sensors/batching#sampling_period_ns)\nparameter passed to the `batch` function is used to set the\nminimum time between consecutive events, meaning an event shouldn't be\ngenerated until `sampling_period_ns` nanoseconds elapsed since\nthe last event, even if the value changed since then. If the value changed,\nan event must be generated as soon as `sampling_period_ns` has\nelapsed since the last event.\n\nFor example, suppose:\n\n- We activate the step counter with `sampling_period_ns = 10 * 10^9` (10 seconds).\n- We walk for 55 seconds, then stand still for one minute.\n- The events are generated about every 10 seconds during the first minute (including at time `t=0` because of the activation of the sensor, and `t=60` seconds), for a total of seven events. No event is generated in the second minute because the value of the step count didn't change after `t=60` seconds.\n\nOne-shot\n--------\n\nUpon detection of an event, the sensor deactivates itself and then sends\na single event through the HAL. Order matters to avoid race conditions.\n(The sensor must be deactivated before the event is reported through the\nHAL). No other event is sent until the sensor is reactivated.\n[Significant\nmotion](/docs/core/interaction/sensors/sensor-types#significant_motion) is an example of this kind of sensor.\n\nOne-shot sensors are sometimes referred to as trigger sensors.\n\nThe `sampling_period_ns` and `max_report_latency_ns`\nparameters passed to the `batch` function are ignored. Events\nfrom one-shot events cannot be stored in hardware FIFOs; the events must\nbe reported as soon as they are generated.\n\nSpecial\n-------\n\nSee the individual [sensor type\ndescriptions](/docs/core/interaction/sensors/sensor-types) for details on when the events are generated."]]