当前位置: 首页 > 知识库问答 >
问题:

Android:后台服务总是关闭

夔建章
2023-03-14

Androids后台任务运行行为的最新变化使得手机被锁定时,很难保持服务活动并在应用程序中继续工作。我的服务只有在屏幕打开或手机充电时才能正常工作。当手机被锁定时,服务几乎立即关闭,或者运行速度太慢,无法发挥任何作用。

我尝试使用“START_STICKY”标志和startForeground()通知来保持服务的活动状态,但这根本没有帮助。我使用的处理程序每5秒调用一次dowork(),然后检查是否有事情要做。

我想在某个时间事件上执行一个简单的任务:每半个/季度或整整一个小时醒来,做一些不受CPU限制的快速工作,然后关闭直到下次。手机应该按时可靠准确地醒来,并获得“白名单”,使用大约半分钟的中央处理器电量。我不做任何紧张的工作,这可能会影响用户性能。

public class MyService extends Service {


public MyService() {
    super();

}


@Override
public IBinder onBind(Intent intent) {

    return null;
}

@凌驾

共有1个答案

宋稳
2023-03-14

对于这个问题,我想参考Alarm Manager示例。这个做得很好,我终于做到了。

 类似资料:
  • 如何在Android奥利奥继续后台服务而不显示通知点?我使用通知继续我的后台服务,但我不想显示运行服务的通知。

  • 问题内容: 如何在不显示通知点的情况下继续在Android Oreo中进行后台服务?我使用通知继续后台服务,但我不想显示正在运行的服务的通知。 问题答案: 如果您可以在此处的某处正确阅读 Android Oreo 8.0 文档,则可能未在此处发布此问题。 步骤1: 确保您将服务作为前台启动,如以下代码所示 步骤2: 使用通知显示您的服务正在运行。在的方法中的代码下面添加一行。 步骤3:在服务停止或

  • 我想创建一个小应用程序,在后台记录数据。所以我试着用绑定服务。这很好,但如果我关闭应用程序,服务也会停止。< br >那么,我的问题是:使用即时服务来执行这一操作是不是一个好方法?当应用程序关闭时,我如何保持服务在后台运行(我也想在启动后启动它)?

  • 我已经安装了一个XMPP服务器,并在android上使用smack做了一个客户端应用程序,一切都很好,但我正在更新的手机上测试应用程序,它不再工作了。 Android杀死了等待消息的服务(当用户关闭应用程序时杀死服务),我一直在读,人们说我应该使用FCM,但我想使用我自己的消息服务器,因为我在XMPP服务器上添加了一些特殊的用户管理逻辑。我不知道我是否可以使用FCM sdk来获取我自己的消息并从那

  • 问题内容: 我一直在为Android开发一个包含后台服务的PhoneGap应用程序。我的问题是:如何调试此服务?是否可以使用AVD进行调试并逐步进行?还是可以使用自己的设备来实现? 谢谢! 问题答案: 是的,可以使用AVD或设备来完成。查看http://www.helloandroid.com/tutorials/how-debug- service 和调试服务。

  • 我正在我的Android应用程序中使用 Realm。我通过完成事件收到来自谷歌驱动器的通知,所以我需要在服务中修改我的领域数据库。 我得到的例外是: 我在应用程序类中设置了默认配置,如下所示: 在onCreate中,我从我的服务中得到我的领域实例,如下所示: 然后我在服务中使用这个领域实例: 但是,在执行最后一个时,应用程序会启动非法状态异常。我不知道为什么。我不确定它是否与我在Android清单