试图在flutter应用程序中设置华为推送,但在应用程序未运行时遇到了一些问题。
当应用程序在前台和后台运行时,会收到推送。但当它被杀死时,它不会收到推送,有时甚至不是实时的,或者直到应用程序重新打开才收到。
这里可能缺少什么?
当应用程序在后台运行或应用程序进程被终止时,在接收数据消息时将不会调用onMessageReceivedStream处理程序。
相反,您需要通过registerBackgroundMessageHandler方法设置一个后台回调处理程序。
要设置后台处理程序,请尽早在应用程序逻辑之外调用registerBackgroundMessageHandler。
例如示例代码:
package com.huawei.hms.flutter.push_example;
import com.huawei.hms.flutter.push.PushPlugin;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class Application extends FlutterApplication implements PluginRegistry.PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
PushPlugin.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
此外,还要仔细检查链接中的基本集成步骤: