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

Android服务关闭

寿意远
2023-03-14

这是我第一次尝试android服务,所以我有点迷茫。我正在开发一个应用程序,需要一个服务在后台运行的所有时间。此服务是从主活动中的onclick事件初始化的。要启动服务,我使用以下代码:

Intent Test = new Intent(this, testService.class);
startService(Test);

在服务中,我基本上有两件事。在onCreate方法中,我初始化一个计时器,每隔30分钟它就打开一个新线程,并检查服务器是否有任何新数据。在onStart方法上,我注册了一个接收器。

谢谢

共有1个答案

王棋
2023-03-14

此任务需要AlarmManager而不是timer。

 类似资料:
  • Androids后台任务运行行为的最新变化使得手机被锁定时,很难保持服务活动并在应用程序中继续工作。我的服务只有在屏幕打开或手机充电时才能正常工作。当手机被锁定时,服务几乎立即关闭,或者运行速度太慢,无法发挥任何作用。 我尝试使用“START_STICKY”标志和startForeground()通知来保持服务的活动状态,但这根本没有帮助。我使用的处理程序每5秒调用一次dowork(),然后检查是

  • 我正在开发一个应用程序,不断地从Kafka主题中读取数据。这些数据是字符串格式的,然后我将其写入xml文件 要编写这些文件,我使用执行服务。 我想知道什么时候应该关闭我的执行服务。如果我的应用程序是有时间限制的,我会在executor实例上使用它,但我的应用程序应该持续运行。 如果发生任何异常,我的整个应用程序被杀死,它会自动关闭我的执行者吗?或者我应该捕获一个未检查的异常并关闭我的执行器,就像我

  • 我的应用程序目前使用一个后台服务与一个物理设备进行通信(蓝牙)。(我制造并销售物理设备。)应用程序每500ms向设备发送一条命令。用户启动这个进程,它必须运行,直到用户停止它。当应用程序处于活动状态时,进程的结果将发送到应用程序。这个过程需要运行,即使应用程序不是活动的。(例如,他们打电话,搜索网络。)一旦应用程序再次激活,进程的状态将与应用程序同步。该过程可以在任何地方运行,从几分钟到几个小时不

  • 我有一个后台服务,它初始化system.net.mqtt库,并等待来自mqtt的消息。我有一个ptoblem的OnHandleIntent inizize图书馆和关闭服务!!在开机启动时,又没有接收到消息,为什么??

  • 我是Android的新手,我对服务和线程的生命周期感到很困惑。 假设我有一个活动,它通过调用startService()在工作线程中启动服务。根据谷歌文档,即使调用组件被破坏,该服务也将无限期运行。 所以我的问题是:如果应用程序进程被完全销毁(退出并从后台堆栈中清理),服务是否仍在运行?UI线程是否仍在运行?如果是,这是否意味着即使其调用进程被破坏,线程也不一定会被终止?