Android:使用异步调用更新accesstoken

Android:使用异步调用更新accesstoken,android,retrofit,access-token,retrofit2,Android,Retrofit,Access Token,Retrofit2,我正在开发一个android应用程序,它要求所有api调用都使用accesstokenAccessToken每10分钟过期一次。我正在为api调用使用Reformation。目前我正在做的是首先使用getAccessToken()方法获得AccessToken,作为响应,我进行其他api调用,以确认其他api调用(如获取用户信息)仅在获取accesstoken后进行。这很好,但由于我的应用程序中有大量api调用,我需要在每个类(片段或活动)中编写相同的getAccessToken()方法代码,并

我正在开发一个android应用程序,它要求所有
api调用都使用
accesstoken
AccessToken
每10分钟过期一次。我正在为
api调用使用
Reformation
。目前我正在做的是首先使用
getAccessToken()
方法获得
AccessToken
,作为响应,我进行其他
api调用
,以确认其他
api调用
(如获取用户信息)仅在获取
accesstoken
后进行。这很好,但由于我的应用程序中有大量api调用,我需要在每个类(片段或活动)中编写相同的
getAccessToken()
方法代码,并在响应中编写相应的
api调用。
那么,有没有办法避免每个类中都出现这种重复的代码,或者我的做法是正确的。

试试静态函数

public class Utility {
    public static String getAccessToken(Context context) {
        //Do the calculation here
        return accessToken;
    }
}
无论何时需要从活动或片段中使用accessToken,都可以在中调用此方法

Utility.getAccessToken(context);
你可以用

而每一个使用改造的请求都会通过你的中间接受器获得你的访问令牌

在您的拦截器中看起来是这样的:

Request request = chain.request();
request.header("header_name", Utility.getAccessToken());
Response response = chain.proceed(request);

问题是如何在
拦截器
类中进行异步调用