如何暂停Android Intent Service?

时间:2012-06-05 16:48:32

标签: android android-service

}

一切正常,但是当按下暂停然后尝试恢复时,我仍然可以上传图片,但我无法发送广播信息给活动。

3 个答案:

答案 0 :(得分:0)

默认情况下,服务不在自己的线程中。因此暂停服务就像调用Thread.sleep()一样简单。但是,假设您在服务中运行了一个线程,我将在上传图像时执行该操作,我将在Thread的run方法的while循环中有一个标志。这个标志是IsServicePaused布尔值,它会暂停或突破正在运行的循环。

答案 1 :(得分:0)

我认为OP意味着他所说的,并且正在使用IntentService类, 在其自己的Thread中运行。如果是这样,暂停服务正在进行的工作的一种方法是向它发送一个指示它暂停的Intent。然后,您必须修改执行工作的代码,以定期检查是否已发出暂停。

然而,我有点困惑。你为什么要暂停服务?它在后台运行,与用户在Activity中执行的操作异步。用例是什么? 用户必须暂停显示图像?处理此问题的一种方法是从活动中启动图像下载,然后允许用户在您的应用程序或其他应用程序中执行其他工作。下载所有图像后,发布通知并附加PendingIntent。当用户点击通知时,控件会传回您的应用。我认为这是使用异步工作实现应用程序生命周期的最佳模式。

答案 2 :(得分:0)

调用Looper.loop()并让它处理一条消息。