0
我已遵循教程并在我的现有应用程序上实施了GCM推送通知。我已设置Main
活动来显示通知。用户收到通知,点击它并在Main
活动上显示通知。问题在于应用程序重新启动,它每次都显示通知。推送通知每次在应用程序启动时显示
主要活动
public void registerGCM() {
....
protected Void doInBackground(Void... params) {
ServerUtilities.register(context, uname, uemail, regId);
}
}
林呼吁Main
的onCreate
活动这个函数来注册程序。这个过程工作正常。
以下是在onCreate函数外的Main
活动中的BoradcaseReceiver代码。
private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);
WakeLocker.acquire(getApplicationContext());
Toast.makeText(getApplicationContext(), "New Message: " + newMessage, Toast.LENGTH_LONG).show();
WakeLocker.release();
}
};
当用户点击它(正常工作),但它也呈现出通知,每次使用启动应用程序,只显示一次通知。我如何防止这种情况?
请让我知道如果我不够清楚。 任何帮助将不胜感激。
谢谢!
我欣赏评论。编辑完成后,我会尽快与您联系。谢谢! – Kevin 2014-10-01 07:25:51
我已经编辑了代码,正如你所解释的,即时通讯仍然有相同的问题。这里是更新后的代码: Manifest: ' ''android:name =“Main”android:excludeFromRecents =“true” GenerateNotification: 'notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);' 能否请你解释一下如何传递唯一ID的通知? –
Kevin
2014-10-01 07:58:07
您可以分享您注册并收到通知的完整代码 – santalu 2014-10-01 08:04:28