如何让我的 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 电视应用程序继续运行?

如何让我的应用程序超过 10 分钟。在后台?

如何让我的应用在 iPhone 上后台运行?

如何让我的应用在后台运行 NSTimer?

如何使用libGDX在iOS / Android后台运行应用程序

有没有办法让我的 WatchKit 应用程序在后台运行?