极光推送监听点击通知栏
16lz
2021-01-23
第一步:注册广播接收者
第二步:实现你的广播接收
public class JGBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_TITLE); String message = bundle.getString(JPushInterface.EXTRA_MESSAGE); String title2 = bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE); String content = bundle.getString(JPushInterface.EXTRA_ALERT); String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); String fileHtml = bundle.getString(JPushInterface.EXTRA_RICHPUSH_HTML_PATH); Log.e("onReceive", "--------------------------------------------------"); Log.e("onReceive", "title : " + title); Log.e("onReceive", "title2 : " + title2); Log.e("onReceive", "message: " + message); Log.e("onReceive", "content: 测试有值 " + content); Log.e("onReceive", "extras: " + extras); Log.e("onReceive", "fileHtml: " + fileHtml); if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) { String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID); Log.d(TAG, "[MyReceiver] 接收 Registration Id : " + regId); } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) { Log.d(TAG, "收到了自定义消息。消息内容是:" + bundle.getString(JPushInterface.EXTRA_MESSAGE)); // 自定义消息不会展示在通知栏,完全要开发者写代码去处理 } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) { Log.d(TAG, "收到了通知"); // 在这里可以做些统计,或者做些其他工作 } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) { Log.d(TAG, "用户点击打开了通知"); // 在这里可以自己写代码去定义用户点击后的行为 Intent i = new Intent(context, TestActivity.class); //自定义打开的界面 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } else { Log.d(TAG, "Unhandled intent - " + intent.getAction()); } }}
当然,这一切都是建立在你能正常收到通知的情况下,才可用以上操作监听到极光推送的消息内容~
更多相关文章
- Android消息推送接收后,通知栏的显示
- Android应用程序键盘(Keyboard)消息处理机制分析(17)
- Android 8.0 跳转通知设置界面适配
- 状态栏通知Notification用法
- android Notification 通知封装
- Android应用程序键盘(Keyboard)消息处理机制分析(18)