2010-12-30 6 views
2

Ist es möglich, ein Thermometer in Android zu implementieren? Wie?Android-Thermometer

Ich weiß, dass die BatteryManager Ihnen die Batterietemperatur mit BatteryManager.EXTRA_TEMPERATURE geben kann, aber ich bin mir nicht sicher, ob dies verwendet werden kann, um die Außentemperatur einigermaßen genau zu messen.

Antwort

4

Während StanislavK die Antwort technisch korrekt ist, habe ich nach dem Lesen der neuesten Android Compatibility Definition festgestellt, dass der Thermometer-Sensor veraltet ist, und wenn es enthalten ist, muss es die CPU-Temperatur messen. Aus dem offiziellen Dokument:

Geräteimplementierungen können, aber NICHT ein Thermometer umfassen (d. H Temperatursensor) Wenn ein Gerät Implementierung ein Thermometer enthält, muss er die Temperatur der Vorrichtung CPU messen. Es muss keine andere Temperatur messen. (Beachten Sie, dass dieser Sensortyp in dem Android 2.3-APIs als veraltet ist.)

So scheint es, dass für die aktuelle Version von Android ist es nicht möglich, ein genaues Thermometer zu implementieren.

2

Zuerst müssen Sie ein Gerät mit dem Thermometer-Sensor (ein Temperatursensor-Typ) haben. Dann könnten Sie es verwenden.

für den Sensor zu überprüfen, in Code verwenden SensorManager:

//get sensor manager first 
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); 

dann getSensorList verwenden und suchen Sie nach TYPE_TEMPERATURE.

Tipps: Hinweis, die Temperaturaktualisierungen könnten "langsam" sein, d. H. Es könnten ein oder zwei Aktualisierungen pro Minute vorliegen. Sie könnten auch in Betracht ziehen, Ihre Ergebnisse zu kalibrieren (d. H. Zulassungs-/Subtraktionseinheiten den eingebauten Sensorergebnissen basierend auf einer tatsächlichen gemessenen Temperatur zu erlauben).

BTW: Bei Außentemperaturen können Sie die aktuelle Außentemperatur von Wetterdiensten wie METAR (basierend auf dem aktuellen Gerätestandort) verwenden.

+0

Danke StanislavK. Weißt du, ob die meisten Android-Geräte mit einem Thermometersensor ausgestattet sind? – hpique