gpt4 book ai didi

Android:Google Drive API - 从未调用过 Resultcallback

转载 作者:行者123 更新时间:2023-11-29 15:48:13 27 4
gpt4 key购买 nike

我正在为一个小程序使用 Google Drive API,并且在任务的身份验证或执行方面没有遇到任何问题。我的主要问题是我为异步 API 调用设置了一个 resultcallback,但从未调用过回调。以下示例:

    MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle(title).build();
Timber.d("Creating folder");
Drive.DriveApi.getRootFolder(apiClient).createFolder(
apiClient, changeSet).setResultCallback(
(DriveFolder.DriveFolderResult driveFolderResult) -> {
Timber.d("got response");
if (driveFolderResult.getStatus().isSuccess()) {
Timber.d("Folder successfully created " + title);
} else {
Timber.d("Could not create Folder " + title);
}
});

使用 apiClient:

        return new GoogleApiClient.Builder(context)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addOnConnectionFailedListener(connectionResult ->
handleConnectionFailure(connectionResult, mainActivity))
.build();

我在另一层添加连接回调,但我认为它在这里并不重要,因为它有效。

我看到每次执行该方法时都会创建文件夹。我看到打印了“创建文件夹”,但之后没有调用 resultcallback。该文件夹的创建速度非常快,因此我不知道为什么不调用 onResult 。有人有想法吗?该文档通常已过时并且缺少完整的工作示例。

谢谢,

马蒂亚斯

编辑:导致执行创建文件夹方法的代码:

    public Observable<Boolean> createFolder(String title) {
Observable<Boolean> successObservable = Observable.create(subscriber -> {
createFolderCallback = new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
apiExecutor.createFolder(subscriber, title);
apiClient.unregisterConnectionCallbacks(createFolderCallback);
apiClient.disconnect();
}

@Override
public void onConnectionSuspended(int i) {
apiClient.unregisterConnectionCallbacks(createFolderCallback);
apiClient.disconnect();
}
};
apiClient.registerConnectionCallbacks(createFolderCallback);
apiClient.connect();
});
successObservable.compose(ObservableUtils.androidWorkTransformer());
return successObservable;
}

我没有使用不同的对象,因为我使用了我的 dagger2-module 中提供的单例对象

最佳答案

评论鼓励我再次阅读连接回调层,我发现在回调之前调用了断开连接! disconnect() 必须从 onConnected() 方法中移除,并且必须在 resultCallback 之后执行。谢谢

关于Android:Google Drive API - 从未调用过 Resultcallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721687/

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