You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

华为设备使用HmsMessageService集成HMS Push Kit无法接收通知问题

HMS Push Kit 通知接收失效排查方案
  • 先确认Push Token有效性
    重新运行应用时Push Token可能更新,用旧Token发送的推送自然无法到达。需在应用启动时调用getToken()方法打印返回结果,确认是否正常获取到最新Token,同时检查getToken()方法是否有报错日志。
  • 检查服务注册配置
    确认AndroidManifest.xml中注册HMSMessageService时已添加正确的Intent过滤器:
    <service
        android:name=".HMSMessageService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
  • 区分消息类型回调逻辑
    HMS Push Kit的消息分为两类:
    • 通知消息:应用在后台时由系统直接在通知栏弹出,不会触发onMessageReceived回调,仅应用在前台时才会走到该回调
    • 透传消息:所有场景下都会触发onMessageReceived回调
      你当前onMessageReceived方法内无任何日志打印逻辑,无法确认回调是否触发,建议先添加日志确认是否走到该方法。另外如果发送的是通知消息,需确认应用已开启通知权限。
  • 检查混淆配置
    若你近期开启了代码混淆或修改了混淆规则,需确认已添加Push Kit对应的防混淆规则:
    -ignorewarnings
    -keep class com.huawei.hms.**{*;}
    -keep class com.huawei.agconnect.**{*;}
    
  • 确认签名匹配
    你提到SHA-256校验无异常,需额外确认当前运行的构建变体(debug/release)对应的签名SHA256,确实已经配置到AGC后台,很多测试场景下debug包用的debug签名和AGC后台配置的release签名不一致,会导致推送接收失败。
  • 检查设备权限与限制
    华为设备对后台应用管控严格,需确认你测试的设备已经给应用开启了自启动权限、后台活动权限,同时关闭了针对该应用的电量优化规则。另外测试时不要使用代理网络,避免无法连接HMS服务器。
  • 核对HMS Toolkit发送参数
    使用Toolkit发送推送时,确认目标Token或包名选择正确,发送的消息类型和预期一致,发送成功仅代表推送请求已经提交到华为服务器,不代表已经下发到设备。

内容的提问来源于stack exchange,提问作者Faizan Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:07