小米推送文档中提到我们接入小米推送 sdk 的时候需要向自己接入的应用中注册一个继承自 PushMessageReceiver 类的 BroadcastReceiver,这个类包含了一个 onNotificationMessageClicked 方法,当用户从通知栏点击通知时,就会触发这个方法的调用。
根据小米推送文档中的内容:
2. 当我的应用被杀掉之后,还能否接收到小米推送服务的消息?
1) 如果是在 MIUI 系统中,使用通知栏类型的消息,是不需要应用出于启动状态就能接收并弹出通知栏的。
也就是说在 MIUI 系统中,应用被完全杀死的情况下,后台推送一条通知栏类型的信息到手机上。手机上仍能显示此通知,并且点击后也会触发 onNotificationMessageClicked。
如果是这样的一个情况,是不是意味着通过 onNotificationMessageClicked 方法。在一个应用完全被杀死的情况下,点击通知后触发 onNotificationMessageClicked 方法从而能执行我应用中代码的一部分逻辑?例如下面这个BroadcastReceiver
public class DemoMessageReceiver extends PushMessageReceiver {
@Override
public void onReceivePassThroughMessage(Context context, MiPushMessage message) {
}
@Override
public void onNotificationMessageClicked(Context context, MiPushMessage message) {
// 不使用 Context,直接在这里写应用内逻辑
}
@Override
public void onNotificationMessageArrived(Context context, MiPushMessage message) {
}
@Override
public void onCommandResult(Context context, MiPushCommandMessage message) {
}
@Override
public void onReceiveRegisterResult(Context context, MiPushCommandMessage message) {
}
}
但感觉这样不符合我对 Android 系统应用管理的理解。还是说在 onNotificationMessageClicked 方法之前 MIUI 已经启动了我这个应用?希望大神能回答一下这个问题。谢谢!
1
GLee9507 2019-03-08 08:59:52 +08:00
静态广播
|