【问题标题】:Android statusbar notification launches new app though it running already. How to synchronize launching app from app icon and staus bar notification?Android 状态栏通知会启动新应用程序,尽管它已经在运行。如何从应用程序图标和状态栏通知同步启动应用程序?
【发布时间】:2011-10-20 04:28:42
【问题描述】:

我已经在服务中实现了通知。通知工作正常。但是在应用程序已经运行并且我点击 android 状态栏通知的情况下,它会启动我的应用程序的新副本。这显然是错误的。如果用户单击状态栏通知,应该是如果应用程序尚未运行则应该启动应用程序,否则它应该打开其他活动(在我的情况下是消息活动)。我尝试了在此处发布的类似问题中提供的许多建议,但在我的情况下我没有得到解决方案。

【问题讨论】:

    标签: android service notifications


    【解决方案1】:

    如何在应用的清单中将 launchMode 设置为 SingleInstance。

    还有一个我在这里学到的技巧,即通知调用的特殊 NotificatonActivity:

    Notification to restore a task rather than a specific activity?

    【讨论】:

      【解决方案2】:

      在这里,我设法摆脱了这个问题。首先,我在条目活动或扩展应用程序的类中定义了布尔变量。我将属性设置为该变量,当应用程序运行时为真,当应用程序退出时为假。然后我检查要打开哪个活动的布尔变量。就我而言,这解决了问题。可能对您的情况也有帮助。bt 情况可能会有所不同。祝你好运

      【讨论】:

        【解决方案3】:

        使用布尔值不是解决此问题的好方法。有关更多信息,请查看应用程序的生命周期。相反,您应该在目标活动中将您的 launchMode 更改为 singleTask 或 singleInstance,并从该活动的 onNewIntent() 方法接收您的意图。

        但请注意,如果您调用 super.onNewIntent(intent);然后将创建该活动的第二个实例。所以不要调用它,并按照你的意图做任何你想做的事情。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-07
          • 1970-01-01
          相关资源
          最近更新 更多