【问题标题】:How to pass Android app from foreground to background如何将Android应用程序从前台传递到后台
【发布时间】:2014-01-30 15:43:07
【问题描述】:

我是一名 Android 开发人员,但遇到了一个烦人的问题。

在我的 onCreate 函数中,我建立了在线程中运行的套接字通信。

当我在前台使用应用程序锁定屏幕然后解锁屏幕时,应用程序转到 onCreate 函数,它发现另一个线程和套接字已经在运行,并且“新”onCreate 破坏了所有进程。

否则,如果我在后台使用应用程序锁定屏幕,则应用程序不会进入 onCreate 函数,并且可以正常工作。

有什么办法可以在按下屏幕锁定按钮时将应用程序转入后台?

首先抱歉,我的英语太差了。 其次,我不能展示任何代码,因为它不是我的,而是我的公司。

谢谢!

【问题讨论】:

  • 您是否考虑过使用服务?
  • 你需要知道的是为什么activity会被recriated,阻塞屏幕应该只是暂停activity,而不是破坏它。查看this link 了解活动生命周期。
  • 您可以像@RocketSpock 所说的那样使用服务,也可以使您正在运行的线程静态建立套接字,因此只能创建一个实例并检查它是否不为空创建一个

标签: android multithreading sockets lifecycle


【解决方案1】:

您是否尝试过将其放入 ASyncTask 而不是自己创建线程?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多