【问题标题】:HmsMessageService onMessageReceived not called未调用 HmsMessageService onMessageReceived
【发布时间】:2021-02-20 11:23:26
【问题描述】:

我实现了Huawei Push Kit。 onNewToken 在应用启动后调用。我想使用 onMessageReceived。

当我向客户端发送推送通知时,推送通知出现在 android 上,但未触发 onMessageReceived。

我在 Android Manifest 中添加了以下代码

    <service
        android:name=".HmsMessageSrv"
        android:enabled="true" android:exported="false">
        <intent-filter>
            <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
        </intent-filter>
    </service>

    <meta-data
        android:name="push_kit_auto_init_enabled"
        android:value="true" />

我的简单类是;

public class HmsMessageSrv extends HmsMessageService {

    @Override
    public void onNewToken(String s) {
        super.onNewToken(s);
        Log.i("HmsMessageService", s);
    }

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
        Log.i("HmsMessageService", "onMessageReceived");
    }
}

收到推送通知时如何触发onMessageReceived函数。

【问题讨论】:

    标签: android push-notification huawei-mobile-services huawei-developers huawei-push-notification


    【解决方案1】:

    onMessageReceived函数只用于接收数据报文。因此,推送通知不会触发 onMessageRecevied。您可以使用数据消息并自己创建通知。您可以通过this链接访问示例代码。

    【讨论】:

      【解决方案2】:

      当您的应用在后台运行或被终止时,您可以从推送通知中获取通知消息。为此,您需要在通知正文中将 foreground_show 设置为 false。

      如果此值为 true 或未设置,则您的消息由 NC 显示。如果此值为 false,则您的消息将传输到您的应用程序,而不是由 NC 显示。

      更多详情请参考:https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/android-fgrd-show-0000001050040126-V5

      【讨论】:

        【解决方案3】:

        直接显示通知消息,因此不会调用onMessageReceived方法。

        只有在收到数据消息时才调用该方法。详情请参考Receiving Data Messages。但是,在您的应用进程被杀死后,数据消息无法到达您的应用。要在你的应用进程被杀死后显示通知消息,或者在你的应用运行时通过onMessageReceived接收数据消息,请参考Notification Message Display on UI

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-22
          • 2018-10-01
          • 2015-11-02
          • 1970-01-01
          • 1970-01-01
          • 2018-04-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多