- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Android Java 编程新手。
我创建了一个简单的聊天应用程序。事情进展顺利,但我遇到了一个小障碍。我已在 list 的应用程序标记中设置 launchMode="singleTop",并覆盖后退按钮,因此现在当用户按下后退或主页按钮时,聊天应用程序仍保持运行(在后台)。我还创建了一些通知,当出现新聊天时(设置了intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP)),这些通知会在状态栏中弹出,当用户单击通知时,它会带来已经运行的聊天应用程序到前面。一切正常;当我从状态栏通知中调出应用程序,然后单击“返回”或“主页”,然后选择从应用程序菜单或启动器上的快捷方式打开应用程序时,就会出现问题,此时它会打开应用程序的第二个实例。
清楚了吗?
如果应用程序未运行并且我选择从应用程序菜单运行它,它就会运行(不显示任何聊天,因为它没有收到任何聊天)。我收到聊天并在应用程序的屏幕上看到它,我按后退按钮,我返回并通过应用程序菜单打开应用程序,它运行并包含之前的聊天消息。好的。现在我按返回(因此应用程序在后台,但仍在运行),我收到一条聊天,它会弹出一个状态栏通知,我单击它,它会打开应用程序并显示之前的聊天消息。好的。现在我单击“返回”(因此应用程序正在后台运行)。然后我通过应用程序菜单打开应用程序(就像我第一次和第二次一样),但是这次它不显示以前的聊天消息,如果我收到聊天,它会发出 2 声通知声音,所以我知道已启动应用程序的新实例。
知道出了什么问题吗?
谢谢。
最佳答案
在 list 中将 Activity launchMode 设置为 singleInstance。
关于Java Android : How to force only one instance of an app (singleTop not working correctly)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10131063/
我是一名优秀的程序员,十分优秀!