【问题标题】:Service callback to Activity in AndroidAndroid中对Activity的服务回调
【发布时间】:2014-05-20 23:24:49
【问题描述】:

我有我的 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);

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

【问题讨论】:

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


    【解决方案1】:

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

    1)Broadcast receiver

    2)Aidl – Android Interface Definition Language

    3)Messenger

    只需点击每种方法,看看哪一种满足您的需求。

    【讨论】:

      【解决方案2】:

      您需要在您的活动中创建BroadcastReceiver(确保在onResume() 中注册并在onPause() 中取消注册)并通过广播通知它,并提供Intent

      请参阅 BroadcastReciever 的文档(以及 LocalBroadcastManager 的文档,这恰好适用于这种情况,广播是您自己的应用程序的本地)。

      例如,您还应该阅读this answer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-17
        • 1970-01-01
        • 1970-01-01
        • 2011-02-20
        • 2013-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多