Get temperature of battery on android Get temperature of battery on android android android

Get temperature of battery on android


http://developer.android.com/reference/android/os/BatteryManager.html

public static final String EXTRA_TEMPERATURE
Extra for ACTION_BATTERY_CHANGED: integer containing the current battery temperature.


Try this:

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);    }};

then define in your Variable declarations:

private mBatInfoReceiver myBatInfoReceiver;

and in 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));     } 

later call e.g in a 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";    }