0

我正在创建一个应用程序,它将执行以下操作:

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

我已经使用广播接收器来获取消息了。之后是开始一个活动。如果不更新用户界面。

我这里有两个问题:

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

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

实际上我希望用户不能取消 GPS 动作。

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

-消息进来

-BroadcastReceiver获取消息并启动intentService

-如果处理完成......我可以用结果启动一个活动(处理完成后服务会自动关闭?!

有没有更好的方法来解决这个问题?

4

1 回答 1

1

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

于 2012-06-04T08:54:22.530 回答