1.程序关闭下接收推送后打开程序,程序打开情况下接收推送
欢迎页启动模式设置为singleTop
2.判断程序是否正在运行
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> list = am.getRunningTasks(100);
boolean isAppRunning = false;
String MY_PKG_NAME = "";//填写app包名
for (RunningTaskInfo info : list) {
if (info.topActivity.getPackageName().equals(MY_PKG_NAME) || info.baseActivity.getPackageName().equals(MY_PKG_NAME)) {
isAppRunning = true;
Log.i("TAG", info.topActivity.getPackageName() + " info.baseActivity.getPackageName()=" + info.baseActivity.getPackageName());
break;
}
}
3.接收到比较重要的信息包括
Bundle bundle = intent.getExtras();
String type = bundle.getString(JPushInterface.EXTRA_EXTRA);
bundle.getString(JPushInterface.EXTRA_ALERT);
4.打开推送通知:ACTION_NOTIFICATION_OPENED
if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
Intent i = new Intent(context, AMWebInfoActivity.class);
i.putExtra("isAppRunning",isAppRunning);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
} else {
Log.d(JPush, "[PushReceiver] Unhandled intent - " + intent.getAction());
}