服务回调Android中的Activity

时间:2014-05-20 23:24:50

标签: android android-activity android-service android-broadcast

我有一个GPSTracker的摘要。它返回用户的位置。它有效。

public class GPSTracker extends Service implements LocationListener {


public GPSTracker(Context context) {
    this.mContext = context;
    getLocation();

}

public Location getLocation() {
    //GET LOCATION CODE
    return location;
}

因此,我使用以下代码在我的MainActivity中调用此服务:

gps = new GPSTracker(this, marker, googleMap, playbackService);

它正在获取用户的实际位置。我想在我的活动上获得这个位置。该服务需要将位置发送到我的活动。谁能帮忙吗?

2 个答案:

答案 0 :(得分:1)

根据您的要求,活动和服务可以通过以下三种方式进行通信:

1)Broadcast receiver

2)Aidl – Android Interface Definition Language

3)Messenger

只需点击每种方法,看看哪种方法符合您的需求。

答案 1 :(得分:0)

您需要在活动中创建BroadcastReceiver(务必在onResume()中注册并在onPause()中取消注册)并通过广播通知,提供{{1} }}

请参阅BroadcastReciever的文档(以及LocalBroadcastManager的文档,该文档完全适用于此场景,其中广播是您自己的应用程序的本地广播。)

您还应该阅读this answer,例如。