1.android电池充满电剩余时间
[Android Framework] 8.1 Battery系列(四) 电量还需多长时间充满时间计算_batteryinfo.java-CSDN博客
从这个链接中可以看出android默认的计算方式为平均计算每1%所需要的时间,在乘以剩余的电量。在这种情况下,Arashi有碰到从70%到75%用时三十多秒,这样计算出来的充满的时间大概需要六分钟,实际上这个时间是错误的,有可能还会出现电池电量越低所需要的时间越短。所以Arashi中有一个从HAL上报的充满电需要的时间。
frameworks/base/services/core/java/com/android/server/BatteryService.java
private final class HealthHalCallback extends IHealthInfoCallback.Stubimplements HealthServiceWrapper.Callback {@Override public void healthInfoChanged(android.hardware.health.V2_0.HealthInfo props) {android.hardware.health.V2_1.HealthInfo propsLatest =new android.hardware.health.V2_1.HealthInfo();propsLatest.legacy = props;….BatteryService.this.update(propsLatest);}@Override public void healthInfoChanged_2_1(android.hardware.health.V2_1.HealthInfo props) {BatteryService.this.update(props); //Arashi使用HealthInfo v2.1,所以在这个方法中更新. props中有一个batteryChargeTimeToFullNowSeconds变量为充满的需要的时间}
frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
@Overridepublic long computeChargeTimeRemaining(long curTime) {if (mOnBattery) {// Not yet working.return -1;}if (mBatteryTimeToFullSeconds >= 0) {return mBatteryTimeToFullSeconds * (1000 * 1000); // s to us}else{return -1;}}
2.Android设置蓝牙默认状态ON/OFF
android默认状态下,开机后蓝牙的状态是ON的状态,修改默认状态的方式:
修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中的”def_bluetooth_on“的值,或者是在overlay 中修改。 其它属性的默认值也是在这两个