2014年1月17日金曜日

Androidの温度センサは搭載されているのか?

最近、寒いせいなのかGalaxy S2のバッテリーの消耗が早くなった気がしています。2年以上たってますから古いといえば古いんですが、この厳しい寒期になってからそれまで3日くらいは(少なくとも2日以上)もっていたバッテリーが2日(48H)もちません。(夜は寒い居間に置きっぱなし)

ふと思ったのが、Android API内のSensorに温度センサがあったので、それでデータが取得できないかということです。(温度によって、バッテリーのもちに差がでるのかどうか確認してみたい)温度センサのリソースの取得APIは以下になります。

List sensors = sensorManager.getSensorList(Sensor.TYPE_TEMPERATURE);

(注:Android4.0からは更に湿度センサも追加され、温度センサを取得するには TYPE_TEMPERATURE → TYPE_AMBIENT_TEMPERATURE になります。)

サンプルプログラムで確認してみると、値が「0」固定で変わりません?Debugしてみると、上記APIで返されるセンサの個数が「0」でした。(センサが搭載されていない?)
試しにもう一つ持っているAndroid端末の(初代)Nexus7で動かしてみても、やはり「0」、温度センサは持っていないようです。
そういえば、某誌によく掲載される分解記事でも地磁気センサとかジャイロとかにどこ製のチップが使われているとか登場してきてても、特に温度センサについての記述を見た記憶がありません。確かに携帯に温度センサまで付けても用途は思いつかないのですが、それじゃなんでAPIが存在しているんでしょう?(しかも湿度センサのAPIまで追加して)
おそらくAndroidを携帯以外に、家庭内の機器制御にも利用することを考えているんでしょうかね?

0 件のコメント:

コメントを投稿