我已在服务中实施了通知。通知工作正常。但是,当应用程序已经运行并且我点击了android状态栏通知时,它会启动我的应用程序的新副本。这显然是错的。应该是如果用户点击状态栏通知,应该启动应用程序,如果应用程序没有运行,否则它应该打开其他活动(在我的情况下的消息活动)。我在这里发布的类似问题中提供了很多建议,但在我的案例中我没有得到解决方案。
答案 0 :(得分:2)
如何在应用程序的清单中将launchMode设置为SingleInstance。
我在这里还提到了一个关于通知调用特殊NotificatonActivity的技巧:
Notification to restore a task rather than a specific activity?
答案 1 :(得分:0)
在这里,我设法摆脱了这个问题。首先,我在入口活动或扩展应用程序的类中定义了布尔变量。我在应用程序运行时将该属性设置为该变量,并在应用程序退出时将其设我检查要打开哪个活动的布尔变量。在我的情况下,这解决了问题。可能对你的情况也有帮助。但是情景可能会有所不同。祝你好运
答案 2 :(得分:0)
使用布尔值不是解决此问题的好方法。有关详细信息,请查看应用程序的生命周期。相反,您应该在目标活动中将launchMode更改为singleTask或singleInstance,并从该活动的onNewIntent()方法接收您的意图。
但要注意,如果你打电话给super.onNewIntent(意图);然后将创建活动的第二个实例。因此,不要随意打电话给你,并根据你的意愿做任何你想做的事。