Androidに温度計を実装することは可能ですか?どのように?
がBatteryManager.EXTRA_TEMPERATUREBatteryManager
を使用してバッテリー温度を提供できることは知っていますが、これを使用して外部温度をある程度正確に測定できるかどうかはわかりません。
Androidに温度計を実装することは可能ですか?どのように?
がBatteryManager.EXTRA_TEMPERATUREBatteryManager
を使用してバッテリー温度を提供できることは知っていますが、これを使用して外部温度をある程度正確に測定できるかどうかはわかりません。
StanislavK の回答は技術的には正しいですが、最新のAndroid 互換性定義を読んだ後、温度計センサーが非推奨であり、含まれている場合は CPU 温度を測定する必要があることを発見しました。公式文書から:
デバイス実装には、温度計 (つまり、温度センサー) を含めることができますが、含めるべきではありません。デバイス実装に温度計を含める場合は、デバイスの CPU の温度を測定する必要があります。他の温度を測定してはなりません。(このセンサー タイプは、Android 2.3 API では非推奨になっていることに注意してください。)
したがって、Android の現在のバージョンでは、正確な温度計を実装することはできないようです。
まず、温度計センサー (温度センサー タイプ) を備えたデバイスが必要です。それなら使えるかも。
センサーを確認するには、コードでSensorManagerを使用します。
//get sensor manager first
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
次にgetSensorListを使用してTYPE_TEMPERATUREを探します。
ヒント: 温度の更新は「遅い」場合があることに注意してください。つまり、1 分間に 1 つまたは 2 つの更新が行われる可能性があります。また、結果を調整できるようにすることを検討することもできます (つまり、実際の測定温度に基づいて、組み込みセンサーの結果に単位を追加/減算できるようにします)。
ところで:外気温については、METARなどの気象サービスからの「現在の外気温」を使用できます(現在のデバイスの場所に基づいています)。