2011-03-31 48 views
7

我使用IntentService处理我的应用中的大文件下载。但是当我想取消下载时,我打电话给stopService(intent)。但onDestroy()方法已被调用,但下载不会停止。 我还有什么要取消下载? 谢谢。如何停止IntentService?

+1

您必须使用单例实例并查找处理程序消息以停止下载。 – papachan 2011-03-31 16:51:08

+2

你能给我多一点吗?我真的不知道我应该怎么做。 – notme 2011-04-01 09:19:41

回答

8

我还没有想通了这一点,不过我发送一个Intent有:

intent.putExtra("pause", "yes"); 
startService(intent); 

然后我重写public int onStartCommand(Intent intent, int a, int b)IntentService内(不推荐),而当看到“暂停”是“是”我设置了一个静态布尔型mPausedtrue。如果在onHandleIntent中有循环,则在循环条件中添加&& !mPaused

当然,这是所有'不好'的代码和黑客...但我希望别人用这样做的正确方式。

+0

不错,我想。这是暂停服务的正确方法。 – 2016-11-16 03:51:27