android - 在 Activity 之间保持 locationListener 处于 Activity 状态

标签 android location

我在我的类 Locator.java 中启动了一个 Activity ,它启动了一个 locacionListener 服务。该 Activity 将位置写入数据库。我想知道当我移动到下一个屏幕( Activity )时,位置是否会继续写入数据库,或者我需要返回到 Locator.java 以继续写入。当我最小化应用程序时也是如此。

我想过要使用服务,但我想确定我是否需要它。

最佳答案

只要服务启动,并且设备上有足够的可用资源,服务就会继续在后台运行。切换 Activity 、最小化或关闭应用程序不会改变这一点。是否正式停止服务取决于您。

但是,捕获位置更新并将它们存储在数据库中的业务逻辑应该在服务中实现,而不是在 Activity 中实现。 (该 Activity 可用于控制服务的状态(停止-启动),并显示来自数据库的数据,但是您的大部分位置更新/存储在数据库逻辑中应该从服务触发。

您可以在您的 Android 设备上查看正在运行的服务(设置 - 应用程序 - 正在运行的服务)。您应该会看到您的服务及其运行时间。

根据您的要求,简单的服务并不能解决问题。例如,如果您还想在设备休眠时捕获位置更新并将它们存储在数据库中,则需要查看 WakefullintentService

关于android - 在 Activity 之间保持 locationListener 处于 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069431/

相关文章:

fragment 中的Android按钮单击方法(崩溃)

android - 使用 ProgressDialog 等待执行的 AsyncTask

Android jetpack 生物识别 DeviceCredentialHandlerActivity 导出=true 真的需要吗?

android - 当应用程序在 Pie 设备的后台和前台时获取位置的最佳代码

android - 自定义 View 不必要地重绘

java - 具有不同条件的多个 if 语句

hadoop - 如何更改 hadoop conf 目录位置?

android - 应用程序被杀死时是否可以跟踪用户的位置( flutter )

java - Google Play 位置 未连接。调用 connect() 并等待 onConnected() 被调用

android - 查找位置 : Google Play Location Service or Android platform location APIs