关于接收的消息是离线还是在线,在哪里处理对应的数据
1.app打开在前台,此时发送通知 收到通知,会调用重写的回调方法getNotification:
//消息到达时获取自定义参数 UmengMessageHandler messageHandler = new UmengMessageHandler() { @Override public Notification getNotification(Context context, UMessage uMessage) { com.zgzx.weather.util.AppLog.i("======", "UmengTest消息到达 获取自定义 参数 "); Map<String, String> param = uMessage.extra; } }
2.app切 到后台后, 发送通知,这个时候收到通知,也是属于在线。 会回调页面调用的方法getNotification();
//消息到达时获取自定义参数 UmengMessageHandler messageHandler = new UmengMessageHandler() { @Override public Notification getNotification(Context context, UMessage uMessage) { com.zgzx.weather.util.AppLog.i("=========", "UmengTest消息到达 获取自定义 参数 "); Map<String, String> param = uMessage.extra; } }
3.app被杀死后,这个时候收到的消息通知。是离线消息。离线消息走UmPushActivity 这个离线页面(通道页面)
// 友盟 离线通知 页 public class UmPushActivity extends UmengNotifyClickActivity { @Override public void onMessage(Intent intent) { super.onMessage(intent); //获得的 数据 final String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY); } }