gpt4 book ai didi

Android Activity 生命周期 - 通知服务

转载 作者:行者123 更新时间:2023-11-29 02:03:07 25 4
gpt4 key购买 nike

我理解 Android 生命周期的概念和涉及的不同事件。我创建了一个通知服务,让用户知道什么时候轮到他/她了。我只希望在用户不再查看应用程序中的某个 Activity 时执行此操作。他/她会在使用该应用程序时知道是否轮到他/她了。

问题:

  • 如果我在 Main.java 类上设置生命周期事件,当用户导航到另一个类时会发生什么情况? onPause 事件会触发吗?由于用户可能在单个 session 期间离开 10 个或更多 Activity ,系统如何知道要执行哪些 onPause 事件?

  • 我目前正在 Main.java 类中的 onStop 和 onRestart 事件期间启动和停止服务。这没有按预期工作。即使我在系统中也会出现通知,这会导致系统由于同时调用外部 API 而锁定。 (见下文)。

    public void onRestart() {
    super.onRestart();

    Intent i = new Intent(Main.this, NotifyService.class);
    Main.this.stopService(i);

    public void onStop() {
    super.onStop();

    Intent i = new Intent(Main.this, NotifyService.class);
    i.putExtra("UserId", userId);
    Main.this.startService(i);

感谢任何帮助。

最佳答案

  1. 假设您在 Activity-A 中,然后移动到 Activity-B,然后将调用 Activty-A 的生命周期回调 - 在本例中立即调用 Activity-A.onPause(),然后调用 Activity-A。 onDestroy() 可能在短时间内如果 Activity-A 在那个时候被销毁。

  2. 用于启动/停止服务的正确方法是 onResume()(而不是您使用的 onRestart())和 onPause()(而不是您使用的 onStop())

关于Android Activity 生命周期 - 通知服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com