Android闪光灯电池相关

  //电池电量,数字
               Log.d("Battery", "" + intent.getIntExtra("level", 0));               
               //电池最大容量
               Log.d("Battery", "" + intent.getIntExtra("scale", 0));               
               //电池伏数
               Log.d("Battery", "" + intent.getIntExtra("voltage", 0));               
               //电池温度
               Log.d("Battery", "" + intent.getIntExtra("temperature", 0));
               
               //电池状态,返回是一个数字
               // BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态
               // BatteryManager.BATTERY_STATUS_DISCHARGING 放电中
               // BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电
               // BatteryManager.BATTERY_STATUS_FULL 电池满


 //电池健康情况,返回也是一个数字
               //BatteryManager.BATTERY_HEALTH_GOOD 良好
               //BatteryManager.BATTERY_HEALTH_OVERHEAT 过热
               //BatteryManager.BATTERY_HEALTH_DEAD 没电
               //BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 过电压

               //BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知错误


一个颜色由四个通道组成:红、绿、蓝和alpha通道,他们的十六进制颜色值分别为:红:0xffff0000       绿:0xff00ff00       蓝:0xff0000ff (第一个0xff表示透明度100%)。
黄色=绿色+红色:0xffffff00
青色=绿色+蓝色:0xff00ffff
品红=红色+蓝色:0xffff00ff


if (level <= 20) {
					try {
						if (mLight != null)
							mLightsService.close(mLight.getType());
					} catch (Exception e) {
						e.printStackTrace();
					}
					if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
						// Solid red when battery is charging
						// mBatteryLight.setColor(mBatteryLowARGB);
						mLight = new com.android.internal.policy.Light(Light.CHARGING, 3000, 5000, mBatteryLowARGB);
					} else {
						// Flash red when battery is low and not charging
						// mBatteryLight.setFlashing(mBatteryLowARGB,
						// LightsService.LIGHT_FLASH_TIMED,
						// batteryLowLedOn, batteryLowLedOff);
						mLight = new com.android.internal.policy.Light(Light.LOW_BATTERY, batteryLowLedOn,
								batteryLowLedOff, mBatteryLowARGB);
					}
					try {
						mLightsService.open(mLight);
					} catch (Exception e) {
						e.printStackTrace();
					}
				} else if (status == BatteryManager.BATTERY_STATUS_CHARGING
						|| status == BatteryManager.BATTERY_STATUS_FULL){
					try {
						if (mLight != null)
							mLightsService.close(mLight.getType());
					} catch (Exception e) {
						e.printStackTrace();
					}
					if(level < 90){
						mLight = new com.android.internal.policy.Light(Light.CHARGING, 3000, 5000, mBatteryMediumARGB);
					}else{
						mLight = new com.android.internal.policy.Light(Light.CHARGE_COMPLETE,3000, 5000,mBatteryFullARGB);
					}
					
					try {
						mLightsService.open(mLight);
					} catch (Exception e) {
						e.printStackTrace();
					}
				}else {
					// mBatteryLight.turnOff();
					try {
						if (mLight != null)
							mLightsService.close(mLight.getType());
						else
							mLightsService.close(com.android.internal.policy.Light.POWER_ALL); //i dont have time to test,set this to avoid the light not off
					} catch (Exception e) {
						e.printStackTrace();
					}
					
				}
			}

以上代码根据电量控制颜色,且保证只有在充满点或者正在充电中才会显示灯亮,低于20会一直显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值