使用intentService还是有更好的方法?

时间:2012-06-04 08:19:54

标签: android broadcastreceiver intentservice

我正在创建一个可执行以下操作的应用:

如果邮件带有消息字。它需要通过GPS功能开始定位手机。之后,它必须向用户显示结果。

我已经让它使用广播接收器来获取消息了。之后是启动一个Activity。如果没有更新用户界面。

我有两个问题:

1)如果屏幕旋转,所有变量都设置为零......那么可以通过onPause()保存变量来解决这个问题,并在onResume()读取这些值

2)如果用户使用后退按钮...线程被取消。

实际上我希望用户无法取消GPS动作。

为此使用Intentservice是一个好主意吗?!

-message进来

- BroadcastReceiver获取消息并启动intentService

- 如果处理完成...我可以用结果开始一个活动(并且在处理完成后服务自动关闭?!

是否有更好的方法来解决问题?

1 个答案:

答案 0 :(得分:1)

您当然可以而且应该在后台使用IntentService进行长时间运行。但是,如果用户退出您的活动,他们很可能出于某种原因这样做,并且弹出一个他们可能不再关心的结果的活动,可能不是一个好的策略。您可以缓存结果,并在用户下次打开活动时显示结果。