0

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

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

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

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

4

2 回答 2

0

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

好吧,您仍然可以拥有一项长期运行的服务,该服务会为您的活动发送我们的消息。(更好的方法)在您的活动中使用传感器代码有什么意义?我了解您的活动永远不会暂停,但您仍然应该有一项服务可以完成这项工作。

于 2012-07-20T03:32:29.567 回答
0

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

于 2017-10-05T17:29:04.157 回答