gpt4 book ai didi

android - 重新启动的 Activity 无法获取它在重新启动之前启动的服务的状态

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

这是一种情况,我有一个启动服务的 android Activity (该服务用于发送/接收文件等)。服务 sendMessage() 通过在 Activity 类对象中创建的处理程序发送到 Activity。然后,Activity 显示服务正在对其包含的 View 执行的当前操作的状态。

问题来了

  1. Activity 开始
  2. Activity 在全局对象中创建 Handler
  3. Activity 启动服务 -
  4. 用户通过 Activity 命令服务开始发送/接收文件的过程
  5. 服务现在正忙,并且还通过全局对象获取的处理程序向 UI 发送消息
  6. Activity 接收和 handleMessage() 并在 UI 上发布状态
  7. 用户现在将我的 Activity 发送到后台(可能是他开始使用其他应用)
  8. 在此过程中,android 可能会杀死我的 Activity,但服务正忙/正在运行
  9. 同时服务完成
  10. 一段时间后,用户打开 Activity ,
  11. (问题) Activity 启动 onCreate 被调用,activity 不知道服务的最后状态。它是成功完成还是失败或任何其他状态 last status..

最佳答案

这取决于您启动服务的方式,以及您应该如何进行。

假设最简单的情况,服务在同一进程中以 START_STICKY 模式运行,该服务将保留在内存中,直到您从 Activity 中调用 stopService()

在这种情况下,您可以创建一个类级静态变量来存储服务当前状态(即未启动、正在运行、错误、已完成等),并从您的 Activity 中对其进行测试。

问候。

关于android - 重新启动的 Activity 无法获取它在重新启动之前启动的服务的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389986/

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