Skip to content

Instantly share code, notes, and snippets.

@gabrielemariotti
Created July 15, 2014 22:56
Show Gist options
  • Star 21 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save gabrielemariotti/b49cf077d184e8b26378 to your computer and use it in GitHub Desktop.
Save gabrielemariotti/b49cf077d184e8b26378 to your computer and use it in GitHub Desktop.
Android Wear: small gist to get data from Battery
public class BatteryActivity extends Activity {
//UI Elements
private TextView mTextViewLevel;
private TextView mTextViewTemperature;
private TextView mTextViewVoltage;
private TextView mTextViewHealth;
//Battery details
private int level;
private int voltage;
private int temperature;
private int healthState;
private int chargePlug;
private int status;
boolean celsius = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_battery);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
//ui elements
mTextViewLevel = (TextView) stub.findViewById(R.id.level);
mTextViewTemperature = (TextView) stub.findViewById(R.id.temperature);
mTextViewVoltage = (TextView) stub.findViewById(R.id.voltage);
mTextViewHealth = (TextView) stub.findViewById(R.id.health);
//update battery details
updateBattery();
}
});
}
private void updateBattery() {
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);
//Level
level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
//Health
healthState = batteryStatus.getIntExtra(BatteryManager.EXTRA_HEALTH, -1);
int healthId = getResources().getIdentifier("battery_health_" + healthState,
"string", this.getPackageName());
String health = getString(healthId);
//Battery status
//status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
//int resIdCharging = getResources().getIdentifier("charging_" + status,"string", this.getPackageName());
//String charging = getString(resIdCharging);
//Temperature
temperature = batteryStatus.getIntExtra(
BatteryManager.EXTRA_TEMPERATURE, 0);
if (celsius){
temperature= temperature/10;
}else{
temperature= temperature/10;
//temperature= (int)( (float)((9.0f * temperature) / 5.0f) + 32.0f);
temperature= (int)( 9.0 * temperature / 5.0 + 32.0);
}
//Voltage
voltage = batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
//Charge
//chargePlug = batteryStatus.getIntExtra(
// BatteryManager.EXTRA_PLUGGED, -1);
//int resId = getResources().getIdentifier("charge_" + chargePlug,
// "string", this.getPackageName());
//String charge = getString(resId);
if (mTextViewLevel!=null) mTextViewLevel.setText(""+level+"%");
if (mTextViewTemperature!=null) mTextViewTemperature.setText(temperature+"°C");
if (mTextViewVoltage!=null) mTextViewVoltage.setText(voltage+"mV");
if (mTextViewHealth!=null) mTextViewHealth.setText(health);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment