小区广播之CMAS 4370-4395 接收不到

请优先在Mms AP中确认CB Enabled,并且 CMASReceiver.app -> Settings -> 查看Emergency alerts选项是否被勾选,
若依然被勾选还接收不到,请做如下修改:
 
main_log中搜索"ignore CB RECEIVED ACTION because disabled enable_cell_broadcast"后,
需要把 CMASReceiver 中 enable_cell_broadcast 默认值全部改为true
 
(1) /vendor/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/default_preference.xml
<setting key="enable_cell_broadcast" defaultValue="true"/> // make sure defaultValue="true"


(2) /vendor/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences_main.xml
<PreferenceCategory
android:key="category_cell_broadcast_settings"
android:title="@string/sms_cb_settings" >


<!-- Enable Cell broadcast -->
<com.mediatek.cellbroadcastreceiver.CheckBoxAndSettingsPreference
android:defaultValue="true" // make sure defaultValue="true"
android:enabled="true"
android:key="enable_cell_broadcast"
android:summary="@string/enable_cell_broadcast_summary"
android:title="@string/enable_cell_broadcast_title" />


</PreferenceCategory>


(3) /vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastReceiver.java
protected void onReceiveWithPrivilege(Context context, Intent intent, boolean privileged) {
……
} else if (Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION.equals(action) ||
Telephony.Sms.Intents.SMS_CB_RECEIVED_ACTION.equals(action)) {
// ignore incoming messages if CMAS option is off.
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean enableCB = prefs.getBoolean(
CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST, true); // false -> true
if (!enableCB) {
log("ignore CB RECEIVED ACTION because disabled enable_cell_broadcast");
return;
}
……
}


(4) /vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastConfigService.java
@Override
protected void onHandleIntent(Intent intent) {
……
} else if (CellBroadcastReceiver.SMS_STATE_CHANGED_ACTION.equals(intent.getAction())) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean enableCB = false;
if (!prefs.contains(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST)) {
enableCB = true;
// begin [
prefs.edit().putBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST, true).commit();
// ] end 
Log.d(TAG, "do not contain the enable_cell_broadcast ");
} else {
enableCB = prefs.getBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST,
true); // false -> true
Log.d(TAG, "contain the enable_cell_broadcast,enableCB = " + enableCB);
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值