2016-09-08 66 views
2

我正在學習Android API並碰到onAccuracyChanged方法。Android - 在什麼用戶情況下會onCccuracyChanged()觸發器?

在StackOverflow上搜索並搜索,但我仍不明白傳感器的準確度可能會發生什麼變化。

我想在下面的線程的答案執行代碼: onAccuracyChanged, why?

測試這一點,我沒有線索如何觸發這個方法。儘管在任何情況下它可能都沒有用處。接口中必須提供此原因。

所以出於好奇。有誰知道我會怎樣觸發這個呼叫?

回答

2

有時需要校準的移動設備上的傳感器的示例是指南針。

因此,您可以通過使用傳感器類型TYPE_MAGNETIC_FIELD進行實驗來觀察精度更改事件。

您收到的是來自該列表中的結果:

  1. SENSOR_STATUS_ACCURACY_HIGH該傳感器報告數據具有最大精確度
  2. SENSOR_STATUS_ACCURACY_LOW該傳感器精度較低報告數據,與環境的校準需要
  3. SENSOR_STATUS_ACCURACY_MEDIUM該傳感器報告的數據具有平均精確度,根據環境進行校準可提高讀數
  4. SENSOR_STATUS_NO_CONTACT 該傳感器返回的值不可信,因爲傳感器與其測量的內容沒有接觸(例如,心率監測器未與用戶接觸)。
  5. SENSOR_STATUS_UNRELIABLE

所以你可以看到的狀態反映了要麼表現良好的傳感器,需要進行校準,或只是不工作。

+0

完美有效的答案IMO。謝謝! –

相關問題