0

我正在使用适用于 android 的 Drive API v2,当我执行以下方法时,我的应用程序似乎暂停或等待,并且没有返回任何数据。

    public About getAbout() throws InterruptedException, ExecutionException {

    FutureTask<About> future = new FutureTask<About>(new Callable<About>() {
        public About call() throws IOException {

            About about = null;
            try {
                about = _driveService.about().get().execute();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return about;

        }
    });

    About about = future.get();
    return about;
}

有谁知道我做错了什么?

4

1 回答 1

1

您正在创建一个FutureTask,但您从未执行它(不在当前线程上,也不在任何其他线程上)。然后你调用future.get()which 将阻塞直到操作完成。由于您从未实际执行该操作,因此它将永远等待。

要在后台线程上执行操作,例如可以使用http://developer.android.com/reference/android/os/AsyncTask.html

于 2013-01-27T16:03:49.917 回答