微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.os.BatteryManager的实例源码

项目:GitHub    文件IjkPlayerView.java   
@Override
public void onReceive(Context context,Intent intent) {
    // 接收电量变化信息
    if (intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)) {
        int level = intent.getIntExtra("level",0);
        int scale = intent.getIntExtra("scale",100);
        // 电量百分比
        int curPower = level * 100 / scale;
        int status = intent.getIntExtra("status",BatteryManager.BATTERY_HEALTH_UNKNowN);
        // SecondaryProgress 用来展示低电量,Progress 用来展示正常电量
        if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
            mPbbatterylevel.setSecondaryProgress(0);
            mPbbatterylevel.setProgress(curPower);
            mPbbatterylevel.setBackgroundResource(R.mipmap.ic_battery_charging);
        } else if (curPower < BATTERY_LOW_LEVEL) {
            mPbbatterylevel.setProgress(0);
            mPbbatterylevel.setSecondaryProgress(curPower);
            mPbbatterylevel.setBackgroundResource(R.mipmap.ic_battery_red);
        } else {
            mPbbatterylevel.setSecondaryProgress(0);
            mPbbatterylevel.setProgress(curPower);
            mPbbatterylevel.setBackgroundResource(R.mipmap.ic_battery);
        }
    }
}
项目:JobSchedulerCompat    文件DeviceTestUtils.java   
@SuppressWarnings("deprecation")
public static void setCharging(Context context,boolean charging) {
    Intent chargingIntent = new Intent(Intent.ACTION_BATTERY_CHANGED);
    if (charging) {
        chargingIntent.putExtra(BatteryManager.EXTRA_PLUGGED,BatteryManager.BATTERY_PLUGGED_AC);
    }
    context.sendStickybroadcast(chargingIntent);
}
项目:MyFire    文件InactivityTimer.java   
@Override
public void onReceive(Context context,Intent intent) {
    if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
        // 0 indicates that we're on battery
        boolean onBatteryNow = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1) <= 0;
        if (onBatteryNow) {
            InactivityTimer.this.onActivity();
        } else {
            InactivityTimer.this.cancel();
        }
    }
}
项目:LuaViewPlayground    文件InactivityTimer.java   
@Override
public void onReceive(Context context,-1) <= 0;
        if (onBatteryNow) {
            InactivityTimer.this.onActivity();
        } else {
            InactivityTimer.this.cancel();
        }
    }
}
项目:buildAPKsApps    文件Main.java   
private void batterylevelUpdater()
{
    batterylevelReceiver = new broadcastReceiver() {
        public void onReceive(Context context,Intent intent) {
            //context.unregisterReceiver(this);
            int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
            int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,-1);
            int level = -1;
            if (rawlevel >= 0 && scale > 0) {
                level = (rawlevel * 100) / scale;
            }
            mbatterylevelView.setLevel(level);
        }
    };
    batterylevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batterylevelReceiver,batterylevelFilter);
}
项目:iSPY    文件TrackerService.java   
private float getbatterylevel() {
    Intent batteryStatus = registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int batterylevel = -1;
    int batteryScale = 1;
    if (batteryStatus != null) {
        batterylevel = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,batterylevel);
        batteryScale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,batteryScale);
    }
    return batterylevel / (float) batteryScale * 100;
}
项目:thingplug-sdk-android    文件SensorListener.java   
@Override
public void onReceive(Context context,Intent intent) {
    if (intent.getAction() == Intent.ACTION_BATTERY_CHANGED) {
        int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,100);
        int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
        float temperature = ((float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0)) / 10;
        float chargeLevel = ((float) (level * 100)) / scale;

        for (SensorInfo sensorInfo : sensorInfos) {
            if (sensorInfo.getType() == SensorType.BATTERY) {
                sensorInfo.setValues(new float[]{temperature,chargeLevel});
                break;
            }
        }
    }
}
项目:Xndroid    文件XndroidReceiver.java   
private void handleBattery(Intent intent){
    int level=intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
    int scale=intent.getIntExtra(BatteryManager.EXTRA_SCALE,0);
    int levelPercent = (int)(((float)level / scale) * 100);
    boolean charging = intent.getIntExtra(BatteryManager.EXTRA_STATUS,BatteryManager.BATTERY_STATUS_UNKNowN) == BatteryManager.BATTERY_STATUS_CHARGING;
    if(levelPercent < BATTERY_LOW_LIMIT && !charging)
        AppModel.sDevBatteryLow = true;
    else
        AppModel.sDevBatteryLow = false;
    LogUtils.i("battery:" + level +"%,BatteryLow=" + AppModel.sDevBatteryLow);
}
项目:GitHub    文件CrashDetails.java   
/**
 * Returns the current device battery level.
 */
static String getbatterylevel(Context context) {
    try {
        Intent batteryIntent = context.registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        if(batteryIntent != null) {
            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 > 0) {
                return Float.toString(((float) level / (float) scale) * 100.0f);
            }
        }
    }
    catch(Exception e){
        if (Countly.sharedInstance().isLoggingEnabled()) {
            Log.i(Countly.TAG,"Can't get batter level");
        }
    }

    return null;
}
项目:gpstracker-android    文件BatteryRecorder.java   
private void recordbatterylevel() {
    Log.i(TAG,"Record battery level");

    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = mContext.registerReceiver(null,ifilter);

    int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
    int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,-1);

    float batteryPct = (level / (float) scale) * 100;
    mTelemetry.write(Telemetry.BATTERY_TAG,String.valueOf(batteryPct));
}
项目:snu-artoon    文件MainActivity.java   
@Override
public void onReceive(Context context,Intent intent) {
    String action = intent.getAction();

    if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
        int remain = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
        String remainString = Integer.toString(remain) + "%";
        currentStatus.setText(remainString);

        int plugIn = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
        switch (plugIn) {
            case 0:
                adapterStatus.setText("No Connection");
                break;

            case BatteryManager.BATTERY_PLUGGED_AC:
                adapterStatus.setText("Adapter Connected");
                break;

            case BatteryManager.BATTERY_PLUGGED_USB:
                adapterStatus.setText("USB Connected");
                break;
        }
    }
}
项目:labtablet    文件FieldModeActivity.java   
private void registerBatInforReceiver() {
    mBatInfoReceiver = new broadcastReceiver() {
        @Override
        public void onReceive(Context arg0,Intent intent) {
            if ((System.currentTimeMillis() - lastUpdateSensorTemperature) < Utils.SAMPLE_MILLIS) {
                return;
            }
            int temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0) / 10;
            temperature_value = "" + temperature;
            bt_temperature_sample.setEnabled(true);
            bt_temperature_sample.setText(temperature_value + getResources().getString(R.string.battery_temp));
            lastUpdateSensorTemperature = System.currentTimeMillis();
        }
    };
    registerReceiver(mBatInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
项目:WearVibrationCenter    文件PhoneCommandListener.java   
@SuppressWarnings("BooleanMethodisAlwaysInverted")
private boolean filterCommand(InterruptionCommand command) {
    if (command.shouldNotVibrateOnCharger()) {
        Intent batteryIntent = registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        boolean pluggedIn = batteryIntent != null && batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0) != 0;
        if (pluggedIn) {
            Timber.d("Filter - Charger!");
            return false;
        }
    }

    if (command.shouldNotVibrateInTheater() &&
            WatchUtils.isWatchInTheaterMode(this)) {
        Timber.d("Filter - Theater mode!");
        return false;
    }

    return true;
}
项目:LucaHome-AndroidApplication    文件BottomInfoViewController.java   
@Override
public void onReceive(Context context,Intent intent) {
    int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
    if (level != -1) {
        _batteryTextView.setText(String.format(Locale.getDefault(),"%d %%",level));
        _batteryAlarmView.setVisibility(View.VISIBLE);
        if (level > BatterySocketController.UPPER_BATTERY_LIMIT) {
            _batteryAlarmView.setBackgroundResource(R.drawable.circle_green);
        } else if (level < BatterySocketController.LOWER_BATTERY_LIMIT) {
            _batteryAlarmView.setBackgroundResource(R.drawable.circle_red);
        } else {
            _batteryAlarmView.setBackgroundResource(R.drawable.circle_green);
        }
    } else {
        _batteryTextView.setText("Error!");
        _batteryAlarmView.setVisibility(View.GONE);
    }
}
项目:Lantern-sdk    文件RylaInstrumentation.java   
private float getBatteryPercent() {
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = RYLA.getInstance().getContext().registerReceiver(null,-1);

    return level / (float)scale * 100;
}
项目:DeviceInfo    文件BatteryFragment.java   
@Override
public void onReceive(Context c,Intent intent) {

    deviceStatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);

    level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
    health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH,0);
    icon_small = intent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL,0);

    plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
    present = intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);

    scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,0);
    status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,0);

    technology = intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
    temperature = (intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0) / 10);

    voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0);

    try {
        getBatteryInfo();
    } catch (NullPointerException e) {
        e.printstacktrace();
    }
}
项目:home-assistant-Android    文件LocationUpdateReceiver.java   
private void logLocation(@NonNull Location location,@NonNull Context context) {
    Log.d(TAG,"Sending location");
    String deviceName = Utils.getPrefs(context).getString(Common.PREF_LOCATION_DEVICE_NAME,null);
    if (TextUtils.isEmpty(deviceName)) {
        return;
    }

    Intent batteryStatus = context.registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int percentage = 0;
    if (batteryStatus != null) {
        int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
        int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,1);
        percentage = Math.round(level / (float) scale * 100);
    }
    Intent serviceIntent = new Intent(context,HassService.class);
    serviceIntent.putExtra(EXTRA_ACTION_COMMAND,new DeviceTrackerRequest(deviceName,location.getLatitude(),location.getLongitude(),Math.round(location.getAccuracy()),percentage).toString());
    context.startService(serviceIntent);
}
项目:homeDash    文件SensorReader.java   
public  void getBatteryReading(SensorDataListener listener){

        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent batteryStatus = context.registerReceiver(null,intentFilter);

        int batteryStatusIntExtra = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
        boolean isCharging = batteryStatusIntExtra == BatteryManager.BATTERY_STATUS_CHARGING ||
                batteryStatusIntExtra == BatteryManager.BATTERY_STATUS_FULL;

        int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

        int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
        int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,-1);

        float batteryPct = level / (float)scale;

        Log.i(TAG,"AC connected: "+acCharge);
        Log.i(TAG,"USB connected: "+usbCharge);
        Log.i(TAG,"Battery charging: "+ isCharging);
        Log.i(TAG,"Battery Level: "+ batteryPct);

        ArrayMap<String,String> map = new ArrayMap<>(3);
        map.put(SENSOR,"Battery");
        map.put(VALUE,Integer.toString(level));
        map.put(UNIT,BATTERYSENSOR_UNIT);
        map.put("charging",Boolean.toString(isCharging));
        map.put("acPlugged",Boolean.toString(acCharge));
        map.put("usbPlugged",Boolean.toString(usbCharge));
        listener.sensorData(map);
    }
项目:LucaHome-MediaServer    文件InfoViewController.java   
@Override
public void onReceive(Context context,Intent intent) {
    if (!_screenEnabled) {
        _logger.Debug("Screen is not enabled!");
        return;
    }

    int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
    _batteryValueTextView.setText(String.format("%s%%",level));

    if (level > BAT_LVL_LOW) {
        _batteryAlarmView.setBackgroundResource(R.drawable.circle_green);
    } else if (level <= BAT_LVL_LOW && level > BAT_LVL_CRITICAL) {
        _batteryAlarmView.setBackgroundResource(R.drawable.circle_yellow);
    } else {
        _batteryAlarmView.setBackgroundResource(R.drawable.circle_red);
    }
}
项目:BatteryAlert    文件BatteryReceiver.java   
@Override
public void onReceive(Context context,Intent intent) {
    int alertValue = PreferenceManager.getDefaultSharedPreferences(context).getInt(MainActivity.KEY_BATTERY_PERCENT,20);

    int status = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    float level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
    float scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,-1);

    boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || plugged == BatteryManager.BATTERY_PLUGGED_USB || plugged == BatteryManager.BATTERY_PLUGGED_AC;
    float value = (level * 100f) / scale;

    if (!isCharging && (int) value == alertValue) {
        ((Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE)).vibrate(3000);
        Toast.makeText(context,String.format(context.getString(R.string.msg_low_battery),(int) value),Toast.LENGTH_LONG).show();
    }
}
项目:device-info    文件BatteryViewImpl.java   
private void setStatus(int statusValue) {
    String status;

    switch (statusValue) {
        case BatteryManager.BATTERY_STATUS_CHARGING:
            status = getString(R.string.battery_status_charging);
            break;
        case BatteryManager.BATTERY_STATUS_disCHARGING:
            status = getString(R.string.battery_status_discharging);
            break;
        case BatteryManager.BATTERY_STATUS_FULL:
            status = getString(R.string.battery_status_full);
            break;
        case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
            status = getString(R.string.battery_status_not_charging);
            break;
        case BatteryManager.BATTERY_STATUS_UNKNowN:
        default:
            status = getString(R.string.battery_status_unkNown);
    }

    mViewStatus.setValue(status);
    mBatteryInfo.setStatus(status);
}
项目:device-info    文件BatteryStateProviderImpl.java   
@Override
public void onReceive(Context context,INVALID);
    int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH,INVALID);
    int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,INVALID);
    int source = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,INVALID);
    boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL;
    String type = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY);
    double temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,INVALID) / 10.0;
    int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,INVALID);

    mBatteryState.setLevel(level);
    mBatteryState.setHealth(health);
    mBatteryState.setCharging(isCharging);
    mBatteryState.setStatus(status);
    mBatteryState.setSource(source);
    mBatteryState.setCapacity(getCapacity());
    mBatteryState.setType(type);
    mBatteryState.setTemperature(temperature);
    mBatteryState.setVoltage(voltage);

    mListener.onBatteryStateChanged(mBatteryState);
}
项目:device-info    文件BatteryStateProviderImpltest.java   
@Test
public void testOnReceive() throws Exception {
    BatteryStateProviderListener mockListener = mock(BatteryStateProviderListener.class);
    mProvider.setListener(mockListener);
    Intent mockIntent = mock(Intent.class);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_LEVEL,INVALID)).thenReturn(LEVEL);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_HEALTH,INVALID)).thenReturn(HEALTH);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_STATUS,INVALID)).thenReturn(STATUS);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,INVALID)).thenReturn(POWER_SOURCE);
    when(mockIntent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY)).thenReturn(TYPE);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,INVALID)).thenReturn(TEMPERATURE);
    when(mockIntent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,INVALID)).thenReturn(VOLTAGE);

    mProvider.onReceive(mMockContext,mockIntent);

    verify(mMockBatteryState).setLevel(LEVEL);
    verify(mMockBatteryState).setHealth(HEALTH);
    verify(mMockBatteryState).setCharging(false);
    verify(mMockBatteryState).setStatus(STATUS);
    verify(mMockBatteryState).setSource(POWER_SOURCE);
    verify(mMockBatteryState).setCapacity(INVALID);
    verify(mMockBatteryState).setType(TYPE);
    verify(mMockBatteryState).setTemperature(TEMPERATURE_EXPECTED);
    verify(mMockBatteryState).setVoltage(VOLTAGE);
    verify(mockListener).onBatteryStateChanged(mMockBatteryState);
}
项目:offloading-framework-android    文件DeviceProfiler.java   
/**
 * Computes the battery level by registering a receiver to the intent triggered by a battery
 * status/level change.
 */
public static void trackbatterylevel() {
  if (batteryTrackingOn == false) {
    batterylevelReceiver = new broadcastReceiver() {
      public void onReceive(Context context,Intent intent) {
        // context.unregisterReceiver(this);
        int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
        int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,-1);
        int level = -1;
        if (rawlevel >= 0 && scale > 0) {
          level = (rawlevel * 100) / scale;
        }
        Log.d(TAG,"Battery level - " + level + ",voltage - " + SysClassBattery.getCurrentVoltage());
        batterylevel = level;
      }
    };
    IntentFilter batterylevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    context.registerReceiver(batterylevelReceiver,batterylevelFilter);
    synchronized (batteryTrackingSyncObject) {
      batteryTrackingOn = true;
    }
  }
}
项目:batteryhub    文件DataEstimator.java   
public void getCurrentStatus(final Context context) {
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

    try {
        Intent batteryStatus = context.registerReceiver(null,ifilter);

        if (batteryStatus != null) {
            level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
            scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,-1);
            mHealth = batteryStatus.getIntExtra(BatteryManager.EXTRA_HEALTH,0);
            plugged = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
            present = batteryStatus.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
            status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,0);
            technology = batteryStatus.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
            temperature = (float) (batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0) / 10);
            voltage = (float) (batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0) / 1000);
        }
    } catch (ReceiverCallNotAllowedException e) {
        LOGE(TAG,"ReceiverCallNotAllowedException from Notification Receiver?");
        e.printstacktrace();
    }
}
项目:android-xmpp-iot-demo    文件XmppIotthing.java   
private void addBatteryStateto(Collection<IoTdatafield> datafields) {
    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent intent = mContext.registerReceiver(null,intentFilter);

    int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
    boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING;
    IoTdatafield.BooleanField chargingField = new IoTdatafield.BooleanField("charging",isCharging);
    datafields.add(chargingField);

    int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    boolean isPlugged = plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS;
    IoTdatafield.BooleanField pluggedField = new IoTdatafield.BooleanField("plugged",isPlugged);
    datafields.add(pluggedField);

    int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
    int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,-1);
    float batteryPercent = level / (float) scale;
    // Scale to percents.
    batteryPercent *= 100;
    IoTdatafield.IntField batteryPercentField = new IoTdatafield.IntField("batteryPrecent",(int) batteryPercent);
    datafields.add(batteryPercentField);
}
项目:under-the-hood    文件TypeTranslators.java   
public static String translateBatteryStatus(int batteryStatus) {
    switch (batteryStatus) {
        case BatteryManager.BATTERY_STATUS_CHARGING:
            return "CHARGING";
        case BatteryManager.BATTERY_STATUS_disCHARGING:
            return "disCHARGING";
        case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
            return "NOT CHARGING";
        case BatteryManager.BATTERY_STATUS_FULL:
            return "FULL";
        case BatteryManager.BATTERY_STATUS_UNKNowN:
            return "STATUS UNKNowN";
        default:
            return "UNKNowN (" + batteryStatus + ")";
    }
}
项目:under-the-hood    文件TypeTranslators.java   
public static String translateBatteryHealth(int batteryHealth) {
    switch (batteryHealth) {
        case BatteryManager.BATTERY_HEALTH_UNKNowN:
            return "UNKNowN HEALTH";
        case BatteryManager.BATTERY_HEALTH_GOOD:
            return "GOOD";
        case BatteryManager.BATTERY_HEALTH_OVERHEAT:
            return "OVERHEAT";
        case BatteryManager.BATTERY_HEALTH_DEAD:
            return "DEAD";
        case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
            return "OVER VOLTAGE";
        case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE:
            return "UNSPECIFIED FAILURE";
        case BatteryManager.BATTERY_HEALTH_COLD:
            return "COLD";
        default:
            return "UNKNowN (" + batteryHealth + ")";
    }
}
项目:TUI-ConsoleLauncher    文件Tuils.java   
@Override
public void onReceive(Context context,Intent intent) {
    if(batteryUpdate == null) return;

    switch (intent.getAction()) {
        case Intent.ACTION_BATTERY_CHANGED:
            int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
            batteryUpdate.update(level);
            break;
        case Intent.ACTION_POWER_CONNECTED:
            batteryUpdate.onCharging();
            break;
        case Intent.ACTION_POWER_disCONNECTED:
            batteryUpdate.onNotCharging();
            break;
    }
}
项目:Device-Explorer    文件Content.java   
public String getContents() {
    StringBuilder sb = new StringBuilder();
    Formatter f = new Formatter(sb,Locale.US);
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = sContext.registerReceiver(null,ifilter);
    f.format("present: %b\n",batteryStatus.getBooleanExtra(BatteryManager.EXTRA_PRESENT,false));
    f.format("technology: %s\n",batteryStatus.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY));
    f.format("status: %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,-1));
    f.format("plugged: %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1));
    f.format("health: %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_HEALTH,-1));
    f.format("level: %d of %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1),batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,-1));
    f.format("temperature: %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,-1));
    f.format("voltage: %d\n",batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE,-1));
    return sb.toString();
}
项目:Status    文件BatteryIconData.java   
@Override
public void register() {
    Intent intent = getContext().registerReceiver(receiver,getIntentFilter());

    if (intent != null) {
        int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
        int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,1);
        int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,0);

        int iconLevel = (int) (((float) level / scale) * 6) + 1;

        if (status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL)
            iconLevel += 7;

        onDrawableupdate(iconLevel);

        if (hasText())
            onTextUpdate(String.valueOf((int) (((double) level / scale) * 100)) + "%");
    }
}
项目:TheLearningLock    文件StatusBar.java   
private void setBatteryPct() {
    // Sets battery percentage
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = context.registerReceiver(null,ifilter);
    int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
    int batteryPct = Math.round(level / (float) scale * 100);
    int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    boolean charging = chargePlug == BatteryManager.BATTERY_PLUGGED_USB || chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
    // Text
    ((TextView) statusBar.findViewById(R.id.battery_percentage)).setText(Integer.toString(batteryPct) + "%");
    // Icon
    int iconPct = 101;
    int iconId = -1;
    HashMap<Integer,Integer> iconMap = charging ? maxBatteryChargingToIcon : maxBatteryToIcon;
    for (int key : iconMap.keySet()) {
        if (key < iconPct && batteryPct <= key) {
            iconId = iconMap.get(key);
            iconPct = key;
        }
    }
    ((ImageView) statusBar.findViewById(R.id.battery_icon)).setimageResource(iconId);
}
项目:UseCases    文件CloudStore.java   
private boolean isCharging(@NonNull Context context) {
    boolean charging = false;
    final Intent batteryIntent =
            context.registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    if (batteryIntent != null) {
        int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
        boolean batteryCharge = status == BatteryManager.BATTERY_STATUS_CHARGING;
        int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        if (batteryCharge) {
            charging = true;
        }
        if (usbCharge) {
            charging = true;
        }
        if (acCharge) {
            charging = true;
        }
    }
    return charging;
    //        Intent intent = Config.getInstance().getContext().registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    //        int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    //        return plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB;
}
项目:smart-scheduler-android    文件SmartScheduler.java   
/**
 * Method to check if the device is charging.
 *
 * @return Returns true if device is either charging or full,false otherwise
 */
private boolean isCharging() {
    try {
        Intent batteryIntent = mContext.getApplicationContext().registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        if (batteryIntent != null) {
            int batteryPowerStatus = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS,0);

            switch (batteryPowerStatus) {
                case BatteryManager.BATTERY_STATUS_CHARGING:
                case BatteryManager.BATTERY_STATUS_FULL:
                    return true;

                case BatteryManager.BATTERY_STATUS_UNKNowN:
                case BatteryManager.BATTERY_STATUS_disCHARGING:
                case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
                default:
                    return false;
            }
        }
    } catch (Exception e) {
        Log.e(TAG,"Exception occurred while isCharging: " + e);
    }

    return false;
}
项目:pearl    文件UploadDocs.java   
public static boolean isPhonePluggedIn(Context context){
    boolean charging = false;

    final Intent batteryIntent = context.registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
    boolean batteryCharge = status==BatteryManager.BATTERY_STATUS_CHARGING;

    int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
    boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
    boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

    if (batteryCharge) charging=true;
    if (usbCharge) charging=true;
    if (acCharge) charging=true;

    return charging;
}
项目:batteryhub    文件DataEstimator.java   
public String getHealthStatus(Context context) {
    String status = "";
    switch (mHealth) {
        case BatteryManager.BATTERY_HEALTH_UNKNowN:
            status = context.getString(R.string.battery_health_unkNown);
            break;
        case BatteryManager.BATTERY_HEALTH_GOOD:
            status = context.getString(R.string.battery_health_good);
            break;
        case BatteryManager.BATTERY_HEALTH_OVERHEAT:
            status = context.getString(R.string.battery_health_overheat);
            break;
        case BatteryManager.BATTERY_HEALTH_DEAD:
            status = context.getString(R.string.battery_health_dead);
            break;
        case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
            status = context.getString(R.string.battery_health_over_voltage);
            break;
        case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE:
            status = context.getString(R.string.battery_health_failure);
            break;
    }

    return status;
}
项目:cosu    文件LockedActivity.java   
private void enableStayOnWhilePluggedIn(boolean enabled){
    if (enabled) {
        mDevicePolicyManager.setGlobalSetting(
                mAdminComponentName,Settings.Global.STAY_ON_WHILE_PLUGGED_IN,Integer.toString(BatteryManager.BATTERY_PLUGGED_AC
                    | BatteryManager.BATTERY_PLUGGED_USB
                    | BatteryManager.BATTERY_PLUGGED_WIRELESS));
    } else {
        mDevicePolicyManager.setGlobalSetting(
                mAdminComponentName,"0"
                );
    }
}
项目:JobSchedulerCompat    文件DeviceUtils.java   
public static boolean isCharging(Context context) {
    Bundle extras = getBatteryChangedExtras(context);
    int plugged = extras != null ? extras.getInt(BatteryManager.EXTRA_PLUGGED,0) : 0;
    return plugged == BatteryManager.BATTERY_PLUGGED_AC
            || plugged == BatteryManager.BATTERY_PLUGGED_USB
            || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1
            && plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。