0

所以我有一个基本的通知应用程序。这是当前的配置详细信息:

GCMIntentService

NotificationActivity
:
---->ViewMessageActivity
     :
     ---->ViewUserDetailsActivity

GCMIntentService被配置为执行以下操作:收到通知后,PendingIntent.FLAG_ONE_SHOT会创建一个挂起的意图,并且该意图会添加Intent.FLAG_ACTIVITY_NEW_TASK标志。

目前,我NotificationActivity在我的清单中定义为android:launchMode="singleInstance". 如果我将它设置为android:launchMode="singleTop",当用户单击通知时,可能会发生一些事情,具体取决于 Android 版本(或者我的两台设备显示)

  1. 在 Android < 2.3 中,如果我在另一个活动中(比如说ViewMessageActivity)并且我从阴影中按下通知,则什么也不会发生(我没有收到任何来自onNewIntent
  2. 在 Android 4.2(不确定其他版本)中,如果我在另一个活动中(比如ViewMessageActivity)并且我从阴影中按下通知,则什么也没有发生(我没有收到来自 的任何东西onNewIntent并且通知从阴影中消失
  3. 如果我在NotificationActivity所有版本中都很好用

所以这导致我将其设置为singleInstance而不是singleTop. 现在,当用户按下通知并且用户处于不同的活动中(例如ViewMessageActivity)时,通知意图会得到适当处理但是,我NotificationActivity尝试为ViewMessageActivity在通知阴影中单击的消息创建一个新实例,但它不会创建一个新的活动。相反,显示我已经打开的实例。我尝试添加诸如Intent.FLAG_ACTIVITY_NEW_TASK但 myonCreateonNewIntent方法都没有在 my 中调用的标志ViewMessageActivity

理想情况下,这就是我希望发生的事情:当用户从ViewMessageActivity主要活动 ( NotificationActivityListView 视图onNewIntent将创建另一个 ViewMessageActivity 实例。注意:我没有为任何其他活动设置启动模式选项。

有什么建议么?

文斯

4

0 回答 0