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