在我的android客户端程序中,当用户有更新时收到通知。当用户点击通知时,他会被带到显示通知的新活动。现在,问题在于,如果收到另一个通知,用户正在查看更新,并且他点击该通知,则不会创建新的活动。
显示上一个活动。该活动不会刷新。 < 我怀疑这是因为当前的活动没有完成。我应该如何克服这一点?在用户点击通知后完成当前活动
回答
为什么不试试在你的代码中的WindowsFocusChanged(boolean hasFocus)。您的情况发生的是活动窗口已处于焦点状态因此,当您单击通知栏并移至相同的活动窗口时,将不会发生任何事情。
onWindowFocusChanged(boolean hasFocus)将在您每次进入该活动时执行。所以把你的整个代码放到这里。即使第一次调用活动,它也会被执行。因此,从公共无效的onCreate(捆绑savedInstanceState)我们的代码复制到
public void onWindowFocusChanged (boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
setContentView(R.layout.layout_name);
//Your code to be executed here
}
而且是啊,你需要拥有的OnCreate()函数也是如此声明,作为
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
试试这个。 我希望它适合你
尝试在你的活动代码,添加此属性的清单:
android:launchMode=["multiple" | "singleTop" |
"singleTask" | "singleInstance"]
与价值singleTop
,它不会产生一个其他活动但如果存在,则调用潜在活动的onNewIntent方法。
而是完成当前活动的,你为什么要使用的onResume()方法来更新与新通知的数据的UI。编写方法来更新ui组件并从onResume()调用它。
当我点击通知或在此之前,我的当前活动会暂停吗? – Ashwin
当您点击通知时,当前活动正在暂停。并开始活动另一个实例。所以再次调用onResume()。请问我是否在通知中使用任何标志开始新的活动?最好使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);国旗在开始活动之前。 –
- 1. 点击通知,然后完成TimerTask?
- 2. 在收到通知时避免当前活动完成
- 3. 活动完成后通知消失
- 4. 当点击通知时更新活动
- 5. 当点击通知时恢复活动
- 6. 当通知的点击,打开活动
- 7. 点击通知可以转到当前活动
- 8. Android - 点击本地通知后在后台保留活动
- 9. 当用户点击来自锁定屏幕的通知时启动活动
- 10. 点击通知未启动活动
- 11. 点击通知不启动活动
- 12. 如何知道点击通知后是否打开了活动?
- 13. 如何在“添加帐户”活动完成时得到通知
- 14. 如何在服务完成后通知主要活动?
- 15. Splunk - 完成并删除当前活动
- 16. 从片段中完成当前活动
- 17. 如何通知服务完成活动?
- 18. 如何通知当前活动从以前的活动
- 19. 打开特定活动时通知在后台点击
- 20. 如何在点击通知后打开特定活动?
- 21. 如何在点击差异通知后打开同一活动
- 22. 在FCM通知点击Android后打开活动
- 23. Android - 为什么活动在点击通知后打开?
- 24. 当前活动不关闭(完成)按钮单击
- 25. 通知无法执行当前活动
- 26. 无法打开通知点击活动
- 27. 点击通知没有打开活动
- 28. 打开新的活动通知点击
- 29. 点击通知开始活动两次
- 30. 无法启动活动后点击android通知
它就像一个魅力! – Ashwin