如何让我的 android 应用程序在后台运行?
Posted
技术标签:
【中文标题】如何让我的 android 应用程序在后台运行?【英文标题】:How can I make my android app run on the background? 【发布时间】:2011-06-19 18:05:04 【问题描述】:我构建了一个收集有关电池数据的应用程序。为了收集这些数据,我需要我的应用程序在后台运行,以便能够收集这些数据。 我该怎么做?
【问题讨论】:
【参考方案1】:您需要将您的活动更改为Service
【讨论】:
你能说得更具体些吗?我想创建一个收集电池信息的应用程序(一直)。我能怎么做?当我试图阅读你给我的链接时,我迷失在他们的所有信息中...... 没有窗口的上下文称为Service。您需要阅读有关服务的更多信息。 也许我解释得不够充分。我需要收集信息,当我打开应用程序时,它会显示它收集的信息。 您使用服务在后台收集信息,然后保存到数据库。当用户打开您的应用程序时,它将获得一个屏幕,其中包含从数据库中检索到的数据。 @Pentium10 嘿,我如何在开机时启动我的后台服务?【参考方案2】:如果您出于某种原因反对使用服务,则可以将其关闭,然后在用户将应用程序调用到前台时获取数据。
您可以使用 onStart、onPause、onResume 函数以及使应用程序成为单个实例,这样当您再次运行它时,它会从内存中提取它(假设 android 出于某种原因不会杀死它)。
您可以使用持续通知来防止它在后台被杀死并移动TaskToBack。
但正如 pentium10 所说,处理后台进程的预期方法是通过一个服务来收集您正在寻找的数据,然后当活动回到前面时,它会从服务中获取数据并显示它。
【讨论】:
【参考方案3】: - @Override public int onStartCommand(Intent intent, int flags, int
startId)
handleCommand(intent);
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_STICKY;
【讨论】:
以上是关于如何让我的 android 应用程序在后台运行?的主要内容,如果未能解决你的问题,请参考以下文章
断开发送方投射设备后,如何让我的 android 电视应用程序继续运行?