我正在使用PhoneGap 插件向 Android 应用发送推送通知。它工作得很好。但问题是,当应用程序打开时,没有收到通知,但是如果我关闭应用程序,那么通知就会进来。
可能是什么原因。即使应用程序正在运行,我也希望在系统托盘中发送推送通知。
我正在使用PhoneGap 插件向 Android 应用发送推送通知。它工作得很好。但问题是,当应用程序打开时,没有收到通知,但是如果我关闭应用程序,那么通知就会进来。
可能是什么原因。即使应用程序正在运行,我也希望在系统托盘中发送推送通知。
这是设计使然,并遵循正常的 UI 约定。
幸运的是,该插件是开源的,您可以更改行为。
传入的推送消息由GCMIntentService
.
该onMessage()
方法检查应用程序是否在前台:
if (PushPlugin.isInForeground()) {
extras.putBoolean("foreground", true);
PushPlugin.sendExtras(extras);
}
else {
extras.putBoolean("foreground", false);
// Send a notification if there is a message
if (extras.getString("message") != null && extras.getString("message").length() != 0) {
createNotification(context, extras);
}
}
修改if (PushPlugin.isInForeground()) {...}
语句以完成您所需要的。
另一种方法是修改代码PushPlugin.isInForeground()
本身。
public static boolean isInForeground()
{
return gForeground;
}
但是请注意更改此代码的任何不良副作用。可能还有其他功能取决于此方法(现在和将来)。
有关如何接收 Parse 推送消息的详细说明,请参阅相关文章: