6

我正在使用 IntentService 来监听 GPS 位置更新,以便在用户离开活动时运行。IS 在消息中将位置发送给活动的处理程序。

问题是,当用户点击“停止跟踪”按钮时,状态栏通知说“正在跟踪...”仍然存在,因为它是在 IntentService 中创建的。因此我重写了 onDestory() 所以我可以调用:

mNotificationManager.cancel(TRACKING);

但问题是,当我实现onDestroy() 时,它是在onHandleIntent 之后立即调用的。如果我删除我的覆盖 onDestroy() 代码,那么它不会立即被调用并且运行良好,将位置发送回活动以显示在屏幕上。

任何想法为什么 onDestroy() 如果我实现它会立即被调用,但如果我不实现它就不会?

我在这里很困惑。

谢谢大家,

无限化

4

1 回答 1

9

好的,我现在已经整理好了,我不应该使用 IntentService,而是使用了服务并将所有功能放入 onStartCommand() 中,现在一切正常。

对不起大家浪费你的时间:-/

无限化

于 2011-05-08T09:05:02.713 回答