微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 添加低温警告

添加低温警告

时间:10-02 整理:3721RD 点击:

[DESCRIPTION]

KK1.MP1上没有低温警告相应代码和资源,如果仅仅打开低温警告相应开关,会导致ArrayIndexOutOfBoundException。

[SOLUTION]

按照以下步骤添加代码和资源:
修改
alps\mediatek\packages\apps\BatteryWarning\src\com\mediatek\batterywarning\BatteryWarningActivity.java
1.
private static final int SAFETY_OVER_TIMEOUT_TYPE = 4;
//添加低温类型5
private static final int BATTERY_LOW_TEMPERATURE_TYPE = 5;
2.
static final int[] sWarningTitle = new int[] {
R.string.title_charger_over_voltage,
R.string.title_battery_over_temperature,
R.string.title_over_current_protection,
R.string.title_battery_over_voltage,
R.string.title_safety_timer_timeout,
/*添加低温字符串资源 */
R.string.title_battery_low_temperature};
3.
private static final int[] sWarninGMSg = new int[] {
R.string.msg_charger_over_voltage,
R.string.msg_battery_over_temperature,
R.string.msg_over_current_protection,
R.string.msg_battery_over_voltage,
R.string.msg_safety_timer_timeout,
/*添加低温字符串资源 */
R.string.msg_battery_low_temperature };
4.
private final BroADCastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_power_DISCONNECTED.equals(action)) {
if (mType == CHARGER_OVER_VOLTAGE_TYPE
|| mType == SAFETY_OVER_TIMEOUT_TYPE || mType == BATTERY_LOW_TEMPERATURE_TYPE/*添加低温类型*/) {
Xlog.d(TAG, "receive ACTION_POWER_DISCONNECTED broadcast, finish");
finish();
}
}
}
};
5.替换两个方法即可
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
mType = intent.getIntExtra("type", -1);
Xlog.d(TAG, "onCreate, mType is " + mType);
if (mType >= CHARGER_OVER_VOLTAGE_TYPE && mType <= BATTERY_LOW_TEMPERATURE_TYPE/*改为低温类型*/) {
showWarningDialog(mType);
registerReceiver(mReceiver, new IntentFiLTEr(
Intent.ACTION_POWER_DISCONNECTED));
} else {
finish();
}
}
protected void onDestroy() {
super.onDestroy();
if (mType >= CHARGER_OVER_VOLTAGE_TYPE && mType <= BATTERY_LOW_TEMPERATURE_TYPE/*改为低温类型*/) {
unregisterReceiver(mReceiver);
}
}
6.字符串资源
values/strings.xml
<string name="title_battery_low_temperature">"Low Battery Temperature"</string>
<string name="msg_battery_low_temperature">"Your battery temperature is too low, please disconnect the
charger!"</string>
values-zh_rCN/strings.xml
<string name="title_battery_low_temperature">"电池温度过低"</string>
<string name="msg_battery_low_temperature">"您的电池温度过低,请断开充电器!"</string>

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top