HmsMessageService onMessageReceived 未调用

ade*_*izc 8 android push-notification huawei-mobile-services huawei-developers huawei-push-notification

我实现了华为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" />
Run Code Online (Sandbox Code Playgroud)

我的简单课程是;

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");
    }
}
Run Code Online (Sandbox Code Playgroud)

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

小智 6

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