2014-01-25 47 views

回答

0

使用必须使用一些标志,这可能会帮助ü

Intent notificationIntent = new Intent(context, MainActivity.class); 

    // set intent so it does not start a new activity 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, 0); 
    notification.setLatestEventInfo(context, title, message, intent); 

    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    // Play default notification sound 
    notification.defaults |= Notification.DEFAULT_SOUND; 

    // Vibrate if vibrate is enabled 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 

    notificationManager.notify(0, notification); 

还要检查你的清单上从通知启动活动

android:launchMode="singleTop" 

属性。

+0

我用Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP ..但它是一样的...打开的活动保持原样... n新的意图活动得到欢迎 – CoDe

1

当您创建Intent来启动您的应用程序时,只需添加Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK即可。

注:但是,这只有在你的根Activity仍然存在于任务(即工作:在你的任务在开始任何其他Activity当你没有调用它的finish()

+0

谢谢...将给一个尝试..但与它的应用程序正在玩多个场景:) – CoDe

+0

“多重场景”是什么意思? –

+0

通知可以在应用程序的任何屏幕上展开,所以这个时候它将很难保持状态...让我们说,如果控制结束了某个屏幕,那么它应该在那里,如果它在屏幕B上..那么它应该重定向到父像这样。 – CoDe

相关问题