Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在活动之间保持locationListener处于活动状态_Android_Location - Fatal编程技术网

Android 在活动之间保持locationListener处于活动状态

Android 在活动之间保持locationListener处于活动状态,android,location,Android,Location,我在类Locator.java中启动一个活动,该活动启动locacionListener服务。该活动将位置写入数据库。我想知道当我移动到下一个屏幕(活动)时,位置是否会继续写入数据库,或者我需要返回Locator.java以继续写入。当我最小化应用程序时也是如此 我想使用服务,但我想确定我需要它。只要服务启动,并且设备上有足够的可用资源,该服务将继续在后台运行。切换活动、最小化或关闭应用程序不会改变这一点。正式停止服务由你决定 但是,用于捕获位置更新并将其存储在数据库中的业务逻辑应该在服务中实现

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


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

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

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

您可以检查android设备上正在运行的服务(设置-应用程序-正在运行的服务)。您应该可以看到您的服务,以及它已运行的时间


根据您的要求,一个简单的服务无法解决此问题。例如,如果您还想在设备睡眠时捕获位置更新并将其存储在数据库中,则需要有效地查看

,当我切换应用程序时,在数据库上写入的线程将停止存储位置。据我所知,Thread将结束,因为此线程需要将事件onLocation更改为工作状态,所以在我返回到该位置活动之前,位置不会更新。这正确吗?谢谢ddewaele!