我正在使用IntentService来监听GPS位置更新,以便在用户离开活动时运行。 IS将消息中的位置发送给活动的处理程序。
问题是,当用户点击“停止跟踪”按钮时,状态栏通知“跟踪...”仍然存在,因为它是在IntentService中创建的。因此我凌驾于onDestory()所以我可以打电话:
mNotificationManager.cancel(TRACKING);
但问题是当我实现onDestroy()时,会在onHandleIntent之后立即调用它。如果我删除了我的覆盖onDestroy()代码,那么它不会立即被调用并运行正常,将位置发送回活动以显示在屏幕上。
任何想法为什么onDestroy()会在我实现的时候立即被调用,但如果我不这样做的话呢?
我在这里很困惑。
全心全意,
Infinitifizz
答案 0 :(得分:9)
好的,我现在已经整理出来了,我不应该使用IntentService,而是使用服务,并将所有功能放入onStartCommand(),现在一切正常。
对不起大家浪费你的时间: - /
Infinitifizz