我正在使用IntentService监听GPS位置更新,以便在用户离开活动时运行。该服务将位置信息通过消息发送到活动的处理程序。
问题是,当用户点击“停止跟踪”按钮时,状态栏通知仍然显示“正在跟踪……”,因为它是在IntentService中创建的。因此,我覆盖了onDestory()方法,以便可以调用以下代码:
问题是,当用户点击“停止跟踪”按钮时,状态栏通知仍然显示“正在跟踪……”,因为它是在IntentService中创建的。因此,我覆盖了onDestory()方法,以便可以调用以下代码:
mNotificationManager.cancel(TRACKING);
但问题在于,当我实现onDestroy()方法时,它会在onHandleIntent之后立即被调用。如果我删除了覆盖的onDestroy()代码,则不会立即调用onDestroy(),程序可以正常运行,并将位置信息发送回活动以在屏幕上显示。
有任何想法为什么如果我实现了onDestroy()就会立即调用它,而如果我没有实现就不会调用呢?
我很困惑。
谢谢大家,
Infinitifizz