微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何屏蔽接收来自某些信道的小区广播消息

如何屏蔽接收来自某些信道的小区广播消息

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
如何屏蔽接收来自某些信道的小区广播消息
[SOLUTION]
客户发现4370~4382的小区广播信道被打开了,想屏蔽这些信道的小区广播消息,可以参考如下设置:
1. 在
SMSCbConstants.java(alps/php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/opt/telephony/src/java/com/android/int
ernal/telephony/GSM) 中添加宏:
public static final int MESSAGE_ID_CBDD_IDENTIFIER_MIN = 0x1112; // add by
mtk for 4370
public static final int MESSAGE_ID_CBDD_IDENTIFIER_MAX = 0x111E; // add by
mtk for 4382
2. 在
SmsCbHeader.java(alps/frameworks/opt/telephony/src/java/com/android/intern
al/telephony/gsm)中添加个判断:
public SmsCbHeader(byte[] pdu, boolean isEtwsPrimary) throws
IllegalArgumentException{
……
mMessageIdentifier = ((pdu[2] & 0xff)<<8)| (pdu[3] & 0xff);
// add by mtk for 4370 ~ 4382
if(mMessageIdentifier >= SmsCbConstants.MESSAGE_ID_CBDD_IDENTIFIER_MIN &&
mMessageIdentifier <= SmsCbConstants.MESSAGE_ID_CBDD_IDENTIFIER_MAX )
{
return ;
}
// add by mtk for 4370 ~ 4382
}
3. 在GsmCellBroADCastHandler.Java 中对handleGsmBroadcastSms() 方法做如下修改:
private SmsCbMessage handleGsmBroadcastSms(AsyncResult ar) {
……
SmsCbHeader header = new SmsCbHeader(receivedPdu, false);
// add by mtk for 4370 ~ 4382
if(header.getServiceCategory() >=
SmsCbConstants.MESSAGE_ID_CBDD_IDENTIFIER_MIN &&
header.getServiceCategory() <=
SmsCbConstants.MESSAGE_ID_CBDD_IDENTIFIER_MAX)
{
return ;
}
// add by mtk for 4370 ~ 4382
……
}
注意:上述做法只是不接收这些信道的广播消息,但是4370~4382信道仍然是打开的。如果需要关闭这些信道,可以参考下面这一步。
4.如果是客户预置的信道,请检查NVRAM_EF_CB_DEFAULT_CH_LID和NVRAM_EF_CB_CH_INFO_LID中并去掉。如果是非客户预置的信道,那就是SIM卡中预置的。可以申请打开宏__CB_CHANNEL_ONLY_STORED_IN_NVRAM__,使手机启动时,不去读取SIM卡中保存的信道。这样,这些信道就不会打开了。

注意:目前没有提供支持单独关闭某些广播信道的AT命令。

签到专用组

文本框无法聚焦,怎么做?

文本框无法聚焦,怎么做?

我现在想从拨号进到拨号键盘,但是发现拨号键盘的输入框不能聚焦,数字不能输入;但是在拨号键盘界面按一下返回键进到拨号,再进到拨号键盘界面,就可以聚焦输入了。请问一下为什么?求指教

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

网站地图

Top