【问题标题】:Using IntentService for Location listening but onDestroy called immediately after onHandleIntent使用 IntentService 进行位置监听,但在 onHandleIntent 之后立即调用 onDestroy
【发布时间】:2011-08-20 16:45:28
【问题描述】:

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

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

mNotificationManager.cancel(TRACKING);

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

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

我在这里很困惑。

谢谢大家,

无限化

【问题讨论】:

    标签: android android-intent android-service android-location android-lifecycle


    【解决方案1】:

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

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

    无限化

    【讨论】:

    • 这里没有浪费,也许有人犯了同样的错误,并在你的答案中找到了解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多