Android长时间运行的活动/服务

时间:2012-07-20 03:25:51

标签: android android-intent

我已经构建了一个应用程序,它使用磁场传感器作为磁簧开关来运行某些活动中的方法。这是24/7全天候运行,人们无法访问手机,因此不用担心用户关闭应用程序。但是,经过长时间等待,该应用程序崩溃了;而且我不确定我是否采取了正确的方法:基于活动或基于服务。

我对服务的理解是它们对背景活动有好处,但由于我的活动一直在运行,我觉得这不是正确的方法。

同样,由于我的活动在后台运行,并且因为它不断读取磁场并在需要时创建本地广播意图,这可能会导致各种广播接收器出现一些问题(即如果它们不是在o​​nResume期间创建的话) ,并在onPause期间取消注册。)

正如我在第一段中所提到的,我想知道哪种方法可以运行磁场传感器以触发本地广播意图。

2 个答案:

答案 0 :(得分:0)

应该没问题。如果它崩溃了什么是日志?

好吧,您仍然可以使用长时间运行的服务来发送我们的活动消息。 (更好的appraoch)在您的活动中使用传感器代码有什么意义?我知道您的活动从未暂停,但您仍应该有一项服务来完成这项工作。

答案 1 :(得分:0)

我意识到这是一篇旧帖子,但我通过经验了解到,Android保留随时终止后台活动的权利(参考:onDestroy() docs)。如果你是"前台服务" - 这意味着你在通知栏中有一个图标 - 你会更好地坚持下去:Foreground Services。对于这种类型的应用来说,这是一个非常重要的概念。