Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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中定期从服务更新到活动_Android_Service - Fatal编程技术网

如何在Android中定期从服务更新到活动

如何在Android中定期从服务更新到活动,android,service,Android,Service,我对安卓系统有一定的经验。我想知道如何在安卓系统中定期从服务更新到活动。我正在玩一个应用程序,该应用程序在后台运行位置服务,并更新到活动用户的出行量。在过去,我广播距离服务,我在活动中使用广播接收器。然而,这种方法太慢了 我最近发现我可以绑定服务,或者使用处理程序定期更新服务中的活动。然而,我不了解细节,尤其是处理程序。有人能告诉我如何使用Handler定期从服务更新到活动吗。当我使用处理程序时,我需要绑定服务吗?或者这些是分开的东西 我想要的是通过使用onlocationChange()方法更

我对安卓系统有一定的经验。我想知道如何在安卓系统中定期从服务更新到活动。我正在玩一个应用程序,该应用程序在后台运行位置服务,并更新到活动用户的出行量。在过去,我广播距离服务,我在活动中使用广播接收器。然而,这种方法太慢了

我最近发现我可以绑定服务,或者使用处理程序定期更新服务中的活动。然而,我不了解细节,尤其是处理程序。有人能告诉我如何使用Handler定期从服务更新到活动吗。当我使用处理程序时,我需要绑定服务吗?或者这些是分开的东西


我想要的是通过使用onlocationChange()方法更新用户从服务到具有UI的活动的行程

你看过官方的解决方案了吗?

这也是一个很好的例子,说明你想要什么


我想这可以帮助您。

我将首先向您解释onLocationChange(位置l)方法是如何工作的

这个方法是callback——它意味着android系统将自动调用它。它将被称为A)在经过一定的时间后,或B)在你的位置改变一定米后。这两个参数由您在创建LocationManager时指定

考虑到这一点,例如,您应该声明一个带有距离的全局变量

int a=0

现在,在这个方法中,必须使用传递的位置l。必须将移动的距离添加到变量a中。现在,如果所有这些代码都在显示行驶距离的活动中,您只需使用变量a,否则您有很多选择。要么将其放入共享首选项中,要么使用将其发送到其他活动的函数


祝你好运。

首先创建一个界面来更新位置

接口以获取连续更新

public interface ILocationlistener {
 public void updateLocation(Location location);
 public void updateLatitude(Double lat);
 public void updateLongitude(Double lang);
}
在LocationListener中的onLocationChanged(Location Location)中更新ILocationlistener接口,以便每次位置更改都将获得更新

使用ILocationListerner Interbase更新活动或服务中的位置更改后。获取位置后,使用处理程序或UI线程更新主线程中的UI


例如

谢谢您的回复。但是,我的应用程序已经在使用位置部分,我正在onLocationChange()中使用sendBoradcast()方法。我在活动中使用了广播接收器。该应用程序正在工作,但用户界面更新延迟。有人建议我使用活页夹或处理程序。我研究了这些主题,是否有一种方法可以使用处理程序从服务发送到活动。使用处理程序时,是否需要绑定服务和活动?