0

我正在尝试制作一种可以从服务返回结果的方法问题是这样的:

public int getResult{
    int result;
    //I'm sending request with PendingIntent here, but here I don't have my variable returned
    return result;
}
public void onActivityResult (int requestCode, int resultCode, Intent data) {
    //because a result from a service comes here and i can't put it in a previous method - that's a problem for me 
}

是否有任何想法使 int getResult 方法不仅会发送请求而且还会返回结果?

4

2 回答 2

0

您可以在您的活动中实现一个侦听器,该服务在完成工作时调用该侦听器。在那个监听器中,您可以从服务中获取结果..

这是我相信的最好方式。

于 2013-07-16T07:16:38.050 回答
0

好的,您的意思是您想从一个活动(例如,活动A)启动服务并从另一个活动(例如,活动B)停止它......为此,请按照给定的步骤操作:

  1. 从 activityA 启动您的服务(这将让您的服务即使在 Activity 被破坏后也能运行)。

  2. 在 activityA 的 onResume() 中,将您的服务绑定到此 activityA(这将返回一个可用于控制服务的活页夹)。

  3. 在 activityA 的 onPause() 中,取消与此 activityA 的服务绑定(您的服务仍将继续运行,因为您首先启动了它)。

  4. 在任何时间点从 activityA 启动您的 activityB 并在 activityB 的 onResume() 中再次将您的服务绑定到此 activityB(这将为您返回同一个正在运行的服务的活页夹,因为服务是单例的,您可以使用此活页夹来控制,即停止,在你的情况下,服务)。

  5. 并且,在活动 B 的 onResume() 中,再次从活动 B 取消绑定您的服务...

我想,我已经把所有的点都说清楚了......快乐的编程...... ;-)

于 2013-07-19T16:12:01.100 回答