Я использую коды cognitouserpool внутри метода doInBackground класса AsynTask. Но мой метод не вызывает. Я попытался, проверив это с журналом. Он не работает.
AsyncTask
public class AWSInitiator extends AsyncTask<Void, Void, Void> {
private Context context;
public AWSInitiator(Context context) {
this.context = context;
}
@Override
protected Void doInBackground(Void... voids) {
CognitoUserPool.......
Log.i("ACCESS_TOKEN", "Test");
AuthenticationHandler authenticationHandler = new AuthenticationHandler() {
Log.i("ACCESS_TOKEN", userSession.getIdToken().getJWTToken());
...
}
}
AnotherClass. java
public class TokenAuthenticator implements Authenticator {
@Override
public Request authenticate(Route route, Response response) {
Log.i("Authenticate", "auth");
AWSInitiator awsInitiator = new AWSInitiator(AppSetting.getInstance().getApplicationContext());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
awsInitiator.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
awsInitiator.execute();
}
return response.request().newBuilder()
.header("Authorization", "Bearer " + AppSetting.getInstance().getSDKDataManager().getAccessToken())
.build();
}
}
Но журнал не отображается. Я делаю что-то не так в своем кодировании. Мне точно нужно, чтобы токен передавался в качестве заголовка при выполнении запроса POST к AWS серверу. Но он возвращает ноль, потому что doInBackground () не работает. Даже Log в классе TokenAuthenticator также не просыпается