gpt4 book ai didi

java - AsyncTask doInBackground 方法未调用

转载 作者:行者123 更新时间:2023-12-02 09:05:45 33 4
gpt4 key购买 nike

我在 AsynTask 类的 doInBackground 方法中使用 cognitouserpool 代码。但我的方法没有调用。我尝试过用日志检查它。它不起作用。

异步任务

    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());
...
}
}

另一个类.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();
}
}

但是日志没有显示。我在编码中做错了什么吗?在对 AWS 服务器进行 POST 调用时,我确实需要将 token 作为 header 传递。但它返回 null,因为 doInBackground() 不起作用。连TokenAuthenticator类中的Log也打不开

最佳答案

您实际上并未在 doInBackground 方法中打印日志。当 token 获取完成时,您尝试在回调方法中打印它。我假设您的回调从未被调用,它实际上正在打印日志。

Log.i("ACCESS_TOKEN", userSession.getIdToken().getJWTToken());

要验证我所说的打印内容,请在外部添加新的日志语句,您应该会看到日志打印在控制台中。像这样的东西:

Log.i("ACCESS_TOKEN", "Test logs");

关于java - AsyncTask doInBackground 方法未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59827500/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com