【CTA】MTK平台过PWS认证Fail问题

本文探讨了基于AndroidQ的定制类项目遇到的PWS认证问题,包括信息弹窗显示异常和同频道不同讯号的处理难题。深入分析了MTK设计原理,并提供了代码修改方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于新的定制类项目要求过PWS认证,基于Android Q,遇到了两个问题,具体如下。

1.收到第一条信息后,不将弹窗点掉,进而发送第二条信息,此时显示的是第二条信息的弹窗,然后将第二条信息点掉后发现第一条信息的弹窗没有关闭。

回复:对于该问题MTK确实是这么设计的。因为紧急警报就是希望通知到位,user不点确认,无法确定是否已被阅读,所以不会被新的遮盖然后消失。并且也没有法规明确需要新的到了直接关闭旧的。

没有强制要求改,但是也看了下代码。如有需要处理,代码修改如下。

--- vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
+++ vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
@@ -161,6 +161,11 @@ public class CMASAlertFullWindow {
                 //clearViewFlag(view);
                 dismissAndMarkRead(view, message, msgRowId);
                 ((Button) view.findViewById(R.id.dismissButton)).setOnClickListener(null);
+                // Monkey.20200623 PWS
+                if (!sShowingView.isEmpty() && CmasConfigManager.isTwProfile()) {
+                    dismissAll();
+                    return;
+                }
 
                 if (!sShowingView.isEmpty() && !CmasConfigManager.isTraProfile()
                     && !CmasConfigManager.isTwProfile()) {

2.收到同频道不同讯号(Updata Nimber)时,只会保留最新的一则消息
    这个问题 实际上发送了三个测试讯息 但是只显示了两个讯息,因为这三个讯息用的是两个信道
 (依照法规 即便同一个信道 也必须一条一条讯息的显示出来)

diff --git vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java b/alps/vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbr
index 11a1699..f18731a 100755
--- vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
@@ -444,6 +444,11 @@ public class CellBroadcastAlertService extends Service {
 
     private boolean handleUpdatedCB(CellBroadcastContentProvider provider
                                                   , CellBroadcastMessage cbm) {
+        // Monkey.20200623 PWS
+        if (CmasConfigManager.isTwProfile()) {
+              return true;
+        } 
+               // END
         Cursor c = provider.getAllCellBroadcastCursor();
         if (c != null
            && c.getCount() > 0) {

以下两个问题,因为不同实验室的要求都不太一样,所以MTK暂无patch计划。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧时旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值