活动结束后的改造响应

时间:2017-08-20 03:02:32

标签: java android retrofit2 rx-android

用户成功登录后,会有另一个api调用来获取用户信息。 但在回复之前,我将关闭活动并开始家庭活动。

public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
    //save token

    // call REST service to get user info and update the user records on DB.
    // update the notification token info

    //go to home page
    Intent intent = new Intent(SigninActivity.this, HomeActivity.class);
    startActivity(intent);
    finish();
}

如何在活动之外进行REST调用。因此,即使关闭活动,App也可以处理onReponse。

一般情况我们如何调用API来执行后台活动(例如:更新数据库。)而无需任何交互。 (回应并不取决于活动)

3 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用静态方法。你可以从任何地方调用这些方法。

如果要更新该方法中的UI元素,请将UI元素作为参数传递给静态方法。

答案 1 :(得分:0)

您可以在后台运行服务(异步),最小化第一个应用程序,onResponse终止第一个应用程序并启动第二个应用程序。只需访问第一个数据。

答案 2 :(得分:0)

有两种方法可以做到这一点

  1. 从家庭活动中调用用户信息API(这是我更喜欢的。)
  2. 登录时,启动一个用于进行用户信息API调用的服务。由于服务独立于用户界面,可以在后台运行,启动主页活动并停止当前服务,因此对服务没有任何影响。在服务中获得响应后,创建一个广播(或使用EventBus)将响应发送到家庭活动。