微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何更改工程模式下CFU setting的默认值

如何更改工程模式下CFU setting的默认值

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
1.在拨号界面的输入框中,输入*#*#3646633#*#*字串进入工模。
2.进入telephony->CFU菜单。
3.更改CFU Setting的选项默认为:Alwarys not query.
[SOLUTION]
android V4.4之前版本:
1.在nvram_data_itEMS.c文件中,修改与NVRAM_EF_CSM_ESSP_LID item对应的值(红色标识的地方
)即可:
ltable_entry_struct logical_data_item_table_core[] =
{
{
NVRAM_EF_SYS_LID,
NVRAM_EF_SYS_SIZE,
NVRAM_EF_SYS_TOTAL,
NVRAM_NORMAL(NVRAM_EF_FF_DEFAULT),
NVRAM_ATTR_WRITEPROTECT | NVRAM_ATTR_MULTIPLE,
NVRAM_CATEGORY_INTERNAL,
"MT00",
VER(NVRAM_EF_SYS_LID),
"SYSTEM Record",
NVRAM_APP_RESERVED
},
......
......
{
NVRAM_EF_CSM_ESSP_LID,
NVRAM_EF_CSM_ESSP_SIZE,
NVRAM_EF_CSM_ESSP_TOTAL,
NVRAM_NORMAL(0x01),//0x00:表示默认值为default. 0x01:表示默认值为Always not
query,0x02:表示默认值为Always query
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER,
"MT35",
VER(NVRAM_EF_CSM_ESSP_LID),
"CSM ESSP setting",
NVRAM_APP_RESERVED
},
......
......
Android V4.4及之后版本(红色表示修改的地方):
1.PhoneConstants.java
(alps\php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\telephony\java\com\android\internal\telephony)
a.修改如下常量的初值:
public static final String CFU_QUERY_TYPE_DEF_VALUE = "1"; //modify 0==>1
2.CfuActivity.java(alps\mediatek\packages\apps\engineermode\src\com\mediatek\engineermode\cfu)
a.添加变量
public class CfuActivity extends Activity {
private static final String TAG = "CFU";
private RadioButton mRadioBtnDe;
private RadioButton mRadioBtnOn;
private RadioButton mRadioBtnOff;
private String lastCfuSetting = null;
......
b.修改如下code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.Layout.cfu_activity);
mRadioBtnDe = (RadioButton) findViewById(R.id.cfu_default_radio);
mRadioBtnOn = (RadioButton) findViewById(R.id.cfu_on_radio);
mRadioBtnOff = (RadioButton) findViewById(R.id.cfu_off_radio);
Button buttonOk = (Button) findViewById(R.id.cfu_set_button);
mPhone = PhoneFactory.getDefaultPhone();
// mPhone.invokeOemRilRequestStrings(createCmd(QUERY), mResponseHander.obtainMessage(QUERY));
String cfuSetting = SystemProperties.get(PhoneConstants.CFU_QUERY_TYPE_PROP,
PhoneConstants.CFU_QUERY_TYPE_DEF_VALUE);
Elog.i(TAG, "cfuSetting = "+cfuSetting);
Elog.i(TAG, "lastCfuSetting = "+ lastCfuSetting);
if (cfuSetting.equals("0")) {
mRadioBtnDe.setChecked(true);
} else if (cfuSetting.equals("1")) {
mRadioBtnOff.setChecked(true);
if(!(cfuSetting.equals(lastCfuSetting))){
mPhone.invokeOemRilRequestStrings(createCmd(SET_OFF), null);
}
lastCfuSetting = cfuSetting;
} else if (cfuSetting.equals("2")) {
mRadioBtnOn.setChecked(true);
} else {
Toast.makeText(CfuActivity.this, "Invalid status : " + cfuSetting, Toast.LENGTH_SHORT)
.show();
}
......
}

学习学习

签到专用

mtk大师的mode模式已有解决

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

网站地图

Top