¿Cómo obtengo la temperatura de la batería en android?Obtener la temperatura de la batería en android
Respuesta
http://developer.android.com/reference/android/os/BatteryManager.html
pública final EXTRA_TEMPERATURE static String
extra para ACTION_BATTERY_CHANGED: entero que contiene la temperatura actual de la batería.
tratar de leer el static int BatteryManager.EXTRA_TEMPERATURE
De acuerdo con la documentación, EXTRA_TEMPERATURE pasa a ser una Cadena. También es estático y por lo tanto siempre será "temperatura". – Christian
Es cierto, pero el documento también dice: "Extra para ACTION_BATTERY_CHANGED" - por lo que su cadena estática es solo la clave para obtener la temperatura de ACTION_BATTERY_CHANGED. – Select0r
TextView BatTemp;
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent)
{
// TODO Auto-generated method stub
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
};
@Override
public void onCreate(Bundle b)
{
super.onCreate(b);
setContentView(R.layout.activity_main);
BatTemp = (TextView) this.findViewById(R.id.textView8);
this.registerReceiver(this.mBatInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
Prueba esto:
private class mBatInfoReceiver extends BroadcastReceiver{
int temp = 0;
float get_temp(){
return (float)(temp/10);
}
@Override
public void onReceive(Context arg0, Intent intent) {
temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
}
};
luego definir en sus declaraciones de variables:
private mBatInfoReceiver myBatInfoReceiver;
y en onCreate:
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);
// ...
// Add this
myBatInfoReceiver = new mBatInfoReceiver();
this.registerReceiver(this.myBatInfoReceiver,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
después de llamar por ejemplo en un OnClickListener()
float temp = myBatInfoReceiver.get_temp();
String message = "Current " + BatteryManager.EXTRA_TEMPERATURE + " = " +
temp + Character.toString ((char) 176) + " C";
public static String batteryTemperature(Context context)
{
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
float temp = ((float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0))/10;
return String.valueOf(temp) + "*C";
}
Puede obtener la temperatura del procesador por esta función: obtener la temperatura de la CPU desde un dispositivo Android utilizando el comando sys/class/thermal/temp
.
public float getCpuTemp() {
Process process;
try {
process = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone0/temp");
process.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = reader.readLine();
float temp = Float.parseFloat(line)/1000.0f;
return temp;
} catch (Exception e) {
e.printStackTrace();
return 0.0f;
}
}
En mi GIST para enviar solicitudes de camiones: https://gist.github.com/sajadabasi/7d76379e82d51efd0a24e5829c3ce572
- 1. cómo llegar temperatura de la batería en Android
- 2. ¿Cómo obtener la temperatura de la CPU?
- 3. ¿Cuáles son las unidades para la temperatura y el voltaje de la batería cuando Intent.BATTERY_ACTION_CHANGED en el dispositivo Android?
- 4. Sensor de temperatura en Android
- 5. Android Perfil de uso de la batería
- 6. ¿Cómo obtener el estado de la batería?
- 7. Batería Android en el SDK
- 8. ¿Cómo obtener la temperatura de la CPU usando Python?
- 9. obtener nivel de batería en el widget de Android
- 10. Obtener nivel de batería y estado en Android
- 11. Cómo obtener información sobre el uso de la batería de Android mediante la aplicación
- 12. Cómo obtener la temperatura ambiente de Arduino Lilypad Sensor de temperatura
- 13. ¿Cómo obtener estadísticas de la batería en Android en tiempo de ejecución?
- 14. ¿Cómo se lee el número de cargos de la batería?
- 15. Uso de sensores lm para obtener la temperatura
- 16. Informe de uso de la batería de Android para desarrolladores
- 17. Deshabilitar la ventana emergente de "batería baja" de Android
- 18. Obtener la temperatura del disco duro usando Python
- 19. ¿Cómo obtener la temperatura de la CPU y la velocidad del ventilador en OS X?
- 20. Acceso temperatura de la CPU en pitón
- 21. Control de temperatura de la CPU
- 22. Nivel de batería en Phonegap
- 23. Obtener los valores actuales de la batería para el teléfono Android
- 24. Uso óptimo de la batería
- 25. Programado previene la carga de la batería
- 26. ¿Cómo obtengo la información de la batería en Windows?
- 27. ¿Estado de la batería en OSX?
- 28. Uso de la batería, ¿qué esperar?
- 29. Crear "intención de uso de batería" android
- 30. ¿Cómo encontrar la temperatura de la ciudad por longitud y latitud en android?
Lo que se acerca ACTION_BATTERY_CHANGED? ¿Tengo que almorzar para obtener la temperatura? ¿Debo escuchar algún intento de todo el sistema? – Christian
Google es tu amigo: http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html Ese tutorial es sobre cómo obtener el nivel de batería pero junto con el enlace de documentos que publiqué , Estoy seguro de que puede averiguar cómo obtener la temperatura de la batería, simplemente use "temperatura" en lugar de "nivel" ... – Select0r
@Christian: No necesita registrar un 'BroadcastReceiver' real si no desea a. Llame a 'registerReceiver (null, new IntentFilter (Intent.ACTION_BATTERY_CHANGED))', y devolverá la última intención que se emitió para esta acción. Use el extra 'EXTRA_TEMPERATURE' para obtener el valor que busca. – CommonsWare