List of usage examples for android.os BatteryManager EXTRA_LEVEL
String EXTRA_LEVEL
To view the source code for android.os BatteryManager EXTRA_LEVEL.
Click Source Link
From source file:hmatalonga.greenhub.managers.sampling.DataEstimator.java
@Override public void onReceive(Context context, Intent intent) { if (context == null) { LOGE(TAG, "Error, context is null"); return;// w w w . jav a2s. c om } if (intent == null) { LOGE(TAG, "Data Estimator error, received intent is null"); return; } LOGI(TAG, "onReceive action => " + intent.getAction()); if (intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)) { try { level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0); plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); present = intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT); status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, 0); technology = intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY); temperature = ((float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0)) / 10; voltage = ((float) intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0)) / 1000; } catch (RuntimeException e) { e.printStackTrace(); } if (SettingsUtils.isBatteryAlertsOn(context)) { // Notify for temperature alerts... if (temperature > 45) { Notifier.batteryHighTemperature(context); } else if (temperature <= 45 && temperature > 35) { Notifier.batteryWarningTemperature(context); } } if (SettingsUtils.isPowerIndicatorShown(context)) { Notifier.updateStatusBar(context); } } // On some phones, scale is always 0. if (scale == 0) scale = 100; if (level > 0) { Inspector.setCurrentBatteryLevel(level, scale); // Location updates disabled for now // requestLocationUpdates(); // Update last known location... // if (lastKnownLocation == null) { // lastKnownLocation = LocationInfo.getLastKnownLocation(context); // } Intent service = new Intent(context, DataEstimatorService.class); service.putExtra("OriginalAction", intent.getAction()); service.fillIn(intent, 0); service.putExtra("distance", distance); EventBus.getDefault().post(new BatteryLevelEvent(level)); startWakefulService(context, service); } }
From source file:mx.klozz.xperience.tweaker.fragments.BatteryInfo.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = getActivity();// w ww .j a v a2 s . c o m mPreferences = PreferenceManager.getDefaultSharedPreferences(context); batteryinfoReveiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0); int leve = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, 0); int Temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); level = leve * scale / 100; mBattery_Percent.setText(level + "%");//Mostraremos el porcentaje de bateria //Para los ajustes de voltaje siempre y cuando el kernel soporte dicha funcion. if (new File(BAT_VOLT_PATH).exists()) { int volt = Integer.parseInt(Helpers.LeerUnaLinea(BAT_VOLT_PATH)); if (volt > 5000) volt = (int) Math.round(volt / 1000.0); //Microvolts :) mBattery_volt.setText(volt + " mV"); } switch ((int) Math.ceil(level / 20.0)) { case 0: mBatteryIcon.setImageResource(R.drawable.battery0); break; case 1: mBatteryIcon.setImageResource(R.drawable.battery1); break; case 2: mBatteryIcon.setImageResource(R.drawable.battery2); break; case 3: mBatteryIcon.setImageResource(R.drawable.battery3); break; case 4: mBatteryIcon.setImageResource(R.drawable.battery4); break; case 5: mBatteryIcon.setImageResource(R.drawable.battery5); break; } mBattery_Status.setText( (Temp / 10) + " C " + getResources().getStringArray(R.array.batt_status)[status]); } }; setRetainInstance(true); setHasOptionsMenu(true); }
From source file:edu.utexas.quietplaces.services.PlacesUpdateService.java
/** * Returns battery status. True if less than 10% remaining. * * @param battery Battery Intent//from w ww . java 2 s .c o m * @return Battery is low */ protected boolean getIsLowBattery(Intent battery) { float pctLevel = (float) battery.getIntExtra(BatteryManager.EXTRA_LEVEL, 1) / battery.getIntExtra(BatteryManager.EXTRA_SCALE, 1); return pctLevel < 0.15; }
From source file:com.brewcrewfoo.performance.fragments.BatteryInfo.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = getActivity();/* w w w. ja v a2s . c o m*/ mPreferences = PreferenceManager.getDefaultSharedPreferences(context); batteryInfoReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //int health= intent.getIntExtra(BatteryManager.EXTRA_HEALTH,0); //String technology= intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY); //boolean present= intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT); //int rawvoltage= intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0); plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0); int lev = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, 0); int temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); level = lev * scale / 100; mbattery_percent.setText(level + "%"); if (new File(BAT_VOLT_PATH).exists()) { int volt = Integer.parseInt(Helpers.readOneLine(BAT_VOLT_PATH)); if (volt > 5000) volt = (int) Math.round(volt / 1000.0);// in microvolts mbattery_volt.setText(volt + " mV"); } switch ((int) Math.ceil(level / 20.0)) { case 0: mBattIcon.setImageResource(R.drawable.battery_0); break; case 1: mBattIcon.setImageResource(R.drawable.battery_1); break; case 2: mBattIcon.setImageResource(R.drawable.battery_2); break; case 3: mBattIcon.setImageResource(R.drawable.battery_3); break; case 4: mBattIcon.setImageResource(R.drawable.battery_4); break; case 5: mBattIcon.setImageResource(R.drawable.battery_5); break; } mbattery_status.setText( (temperature / 10) + "C " + getResources().getStringArray(R.array.batt_status)[status]); } }; //getActivity().registerReceiver(batteryInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED) ); setRetainInstance(true); setHasOptionsMenu(true); }
From source file:fr.inria.ucn.collectors.SysStateCollector.java
/** * //from www . j a va2 s . co m * @param c * @param ts * @param change */ @SuppressLint("NewApi") public void run(Context c, long ts, boolean change) { try { JSONObject data = new JSONObject(); data.put("on_screen_state_change", change); // this collection run was triggered by screen state change data.put("hostname", Helpers.getSystemProperty("net.hostname", "unknown hostname")); data.put("current_timezone", Time.getCurrentTimezone()); // general memory state ActivityManager am = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); JSONObject mem = new JSONObject(); mem.put("available", mi.availMem); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { mem.put("total", mi.totalMem); } mem.put("is_low", mi.lowMemory); data.put("memory", mem); // screen state PowerManager pm = (PowerManager) c.getSystemService(Context.POWER_SERVICE); data.put("screen_on", pm.isScreenOn()); // battery state IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent battery = c.registerReceiver(null, ifilter); int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1); float pct = (float) (100.0 * level) / scale; int status = battery.getIntExtra(BatteryManager.EXTRA_STATUS, -1); boolean isCharging = (status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL); int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB; boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC; JSONObject batt = new JSONObject(); batt.put("level", level); batt.put("scale", scale); batt.put("pct", pct); batt.put("is_charging", isCharging); batt.put("usb_charge", usbCharge); batt.put("ac_charge", acCharge); data.put("battery", batt); // some proc stats data.put("cpu", getCpuStat()); data.put("loadavg", getLoadStat()); data.put("uptime", getUptimeStat()); // audio state data.put("audio", getAudioState(c)); // done Helpers.sendResultObj(c, "system_state", ts, data); } catch (JSONException jex) { Log.w(Constants.LOGTAG, "failed to create json object", jex); } }
From source file:com.wso2.mobile.mdm.api.PhoneState.java
/** *Returns the device battery information//from ww w . ja v a 2 s . co m */ public float getBatteryLevel() { Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); // Error checking that probably isn't needed but I added just in case. if (level == -1 || scale == -1) { return 50.0f; } return ((float) level / (float) scale) * 100.0f; /*BroadcastReceiver batteryReceiver = new BroadcastReceiver() { int scale = -1; int level = -1; int voltage = -1; int temp = -1; @Override public void onReceive(Context context, Intent intent) { level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1); voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1); Log.v("Battery Level", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage); Battery battery = Battery.getInstance(); battery.setLevel(level); battery.setScale(scale); battery.setTemp(temp); battery.setVoltage(voltage); } }; IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); context.registerReceiver(batteryReceiver, filter); return Battery.getInstance();*/ }
From source file:org.wso2.cdm.agent.api.PhoneState.java
/** *Returns the device battery information//from www. j a va 2 s .co m */ public float getBatteryLevel() { Intent batteryIntent = context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); // Error checking that probably isn't needed but I added just in case. if (level == -1 || scale == -1) { return 50.0f; } return ((float) level / (float) scale) * 100.0f; /*BroadcastReceiver batteryReceiver = new BroadcastReceiver() { int scale = -1; int level = -1; int voltage = -1; int temp = -1; @Override public void onReceive(Context context, Intent intent) { level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1); voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1); Log.v("Battery Level", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage); Battery battery = Battery.getInstance(); battery.setLevel(level); battery.setScale(scale); battery.setTemp(temp); battery.setVoltage(voltage); } }; IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); context.registerReceiver(batteryReceiver, filter); return Battery.getInstance();*/ }
From source file:edu.uri.egr.hermes.manipulators.FileLog.java
public String battery() { IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = Hermes.get().getContext().registerReceiver(null, filter); return String.valueOf(batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1 / batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1) * 100)); }
From source file:org.openchaos.android.fooping.service.PingService.java
@Override protected void onHandleIntent(Intent intent) { String clientID = prefs.getString("ClientID", "unknown"); long ts = System.currentTimeMillis(); Log.d(tag, "onHandleIntent()"); // always send ping if (true) {//from w w w.j a va 2s . c om try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "ping"); json.put("ts", ts); sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } // http://developer.android.com/training/monitoring-device-state/battery-monitoring.html // http://developer.android.com/reference/android/os/BatteryManager.html if (prefs.getBoolean("UseBattery", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "battery"); json.put("ts", ts); Intent batteryStatus = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); if (batteryStatus != null) { JSONObject bat_data = new JSONObject(); int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); if (level >= 0 && scale > 0) { bat_data.put("pct", roundValue(((double) level / (double) scale) * 100, 2)); } else { Log.w(tag, "Battery level unknown"); bat_data.put("pct", -1); } bat_data.put("health", batteryStatus.getIntExtra(BatteryManager.EXTRA_HEALTH, -1)); bat_data.put("status", batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1)); bat_data.put("plug", batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1)); bat_data.put("volt", batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1)); bat_data.put("temp", batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1)); bat_data.put("tech", batteryStatus.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY)); // bat_data.put("present", batteryStatus.getBooleanExtra(BatteryManager.EXTRA_PRESENT, false)); json.put("battery", bat_data); } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } // http://developer.android.com/guide/topics/location/strategies.html // http://developer.android.com/reference/android/location/LocationManager.html if (prefs.getBoolean("UseGPS", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "loc_gps"); json.put("ts", ts); if (lm == null) { lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); } Location last_loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); if (last_loc != null) { JSONObject loc_data = new JSONObject(); loc_data.put("ts", last_loc.getTime()); loc_data.put("lat", last_loc.getLatitude()); loc_data.put("lon", last_loc.getLongitude()); if (last_loc.hasAltitude()) loc_data.put("alt", roundValue(last_loc.getAltitude(), 4)); if (last_loc.hasAccuracy()) loc_data.put("acc", roundValue(last_loc.getAccuracy(), 4)); if (last_loc.hasSpeed()) loc_data.put("speed", roundValue(last_loc.getSpeed(), 4)); if (last_loc.hasBearing()) loc_data.put("bearing", roundValue(last_loc.getBearing(), 4)); json.put("loc_gps", loc_data); } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } if (prefs.getBoolean("UseNetwork", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "loc_net"); json.put("ts", ts); if (lm == null) { lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); } Location last_loc = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (last_loc != null) { JSONObject loc_data = new JSONObject(); loc_data.put("ts", last_loc.getTime()); loc_data.put("lat", last_loc.getLatitude()); loc_data.put("lon", last_loc.getLongitude()); if (last_loc.hasAltitude()) loc_data.put("alt", roundValue(last_loc.getAltitude(), 4)); if (last_loc.hasAccuracy()) loc_data.put("acc", roundValue(last_loc.getAccuracy(), 4)); if (last_loc.hasSpeed()) loc_data.put("speed", roundValue(last_loc.getSpeed(), 4)); if (last_loc.hasBearing()) loc_data.put("bearing", roundValue(last_loc.getBearing(), 4)); json.put("loc_net", loc_data); } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } // http://developer.android.com/reference/android/net/wifi/WifiManager.html if (prefs.getBoolean("UseWIFI", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "wifi"); json.put("ts", ts); if (wm == null) { wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); } List<ScanResult> wifiScan = wm.getScanResults(); if (wifiScan != null) { JSONArray wifi_list = new JSONArray(); for (ScanResult wifi : wifiScan) { JSONObject wifi_data = new JSONObject(); wifi_data.put("BSSID", wifi.BSSID); wifi_data.put("SSID", wifi.SSID); wifi_data.put("freq", wifi.frequency); wifi_data.put("level", wifi.level); // wifi_data.put("cap", wifi.capabilities); // wifi_data.put("ts", wifi.timestamp); wifi_list.put(wifi_data); } json.put("wifi", wifi_list); } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } // TODO: cannot poll sensors. register receiver to cache sensor data // http://developer.android.com/guide/topics/sensors/sensors_overview.html // http://developer.android.com/reference/android/hardware/SensorManager.html if (prefs.getBoolean("UseSensors", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "sensors"); json.put("ts", ts); if (sm == null) { sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE); } List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ALL); if (sensors != null) { JSONArray sensor_list = new JSONArray(); for (Sensor sensor : sensors) { JSONObject sensor_info = new JSONObject(); sensor_info.put("name", sensor.getName()); sensor_info.put("type", sensor.getType()); sensor_info.put("vendor", sensor.getVendor()); sensor_info.put("version", sensor.getVersion()); sensor_info.put("power", roundValue(sensor.getPower(), 4)); sensor_info.put("resolution", roundValue(sensor.getResolution(), 4)); sensor_info.put("range", roundValue(sensor.getMaximumRange(), 4)); sensor_list.put(sensor_info); } json.put("sensors", sensor_list); } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } // http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html // http://developer.android.com/reference/android/net/ConnectivityManager.html if (prefs.getBoolean("UseConn", false)) { try { JSONObject json = new JSONObject(); json.put("client", clientID); json.put("type", "conn"); json.put("ts", ts); if (cm == null) { cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); } // TODO: add active/all preferences below UseConn if (prefs.getBoolean("UseConnActive", true)) { NetworkInfo net = cm.getActiveNetworkInfo(); if (net != null) { JSONObject net_data = new JSONObject(); net_data.put("type", net.getTypeName()); net_data.put("subtype", net.getSubtypeName()); net_data.put("connected", net.isConnected()); net_data.put("available", net.isAvailable()); net_data.put("roaming", net.isRoaming()); net_data.put("failover", net.isFailover()); if (net.getReason() != null) net_data.put("reason", net.getReason()); if (net.getExtraInfo() != null) net_data.put("extra", net.getExtraInfo()); json.put("conn_active", net_data); } } if (prefs.getBoolean("UseConnAll", false)) { NetworkInfo[] nets = cm.getAllNetworkInfo(); if (nets != null) { JSONArray net_list = new JSONArray(); for (NetworkInfo net : nets) { JSONObject net_data = new JSONObject(); net_data.put("type", net.getTypeName()); net_data.put("subtype", net.getSubtypeName()); net_data.put("connected", net.isConnected()); net_data.put("available", net.isAvailable()); net_data.put("roaming", net.isRoaming()); net_data.put("failover", net.isFailover()); if (net.getReason() != null) net_data.put("reason", net.getReason()); if (net.getExtraInfo() != null) net_data.put("extra", net.getExtraInfo()); net_list.put(net_data); } json.put("conn_all", net_list); } } sendMessage(json); } catch (Exception e) { Log.e(tag, e.toString()); e.printStackTrace(); } } if (!PingServiceReceiver.completeWakefulIntent(intent)) { Log.w(tag, "completeWakefulIntent() failed. no active wake lock?"); } }
From source file:org.wso2.emm.system.service.api.OTADownload.java
private int getBatteryLevel(Context context) { Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); int level = 0; if (batteryIntent != null) { level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); }//from w w w . java2s.c o m return level; }