Retrofit为后台运行的呼叫返回HTTP 401

时间:2018-05-12 07:51:32

标签: android networking background retrofit2

我的一个改装电话有一个奇怪的问题,当应用程序在后台时它运行正常(最近列表)

我有一个电话通过它来更新我的小部件数据,问题是当应用程序从最近的列表中清除时,该调用会给出HTTP 401未经授权的响应。

但是我用它传递了相同的持票人令牌。

请查看代码并提出一些帮助

public static OkHttpClient getOkhttpClient() {
    OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request newRequest  = chain.request().newBuilder()
                    .addHeader("Authorization", "Bearer " + TokenGenerator.getToken())
                    .build();
            return chain.proceed(newRequest);
        }
    }).build();

    return client;
}

public static Retrofit getClient() {
    if (retrofit==null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .client(getOkhttpClient())
                .addConverterFactory(JacksonConverterFactory.create())
                .build();
    }
    return retrofit;
}

0 个答案:

没有答案