2

我有一个将照片上传到 Facebook 相册的服务,它运行良好。问题是从未调用回调(并且服务仍然存在......)

Request uploadPhoto = new Request(Session.getActiveSession(), albumId + "/photos", 
params, HttpMethod.POST,new Request.Callback() {
        public void onCompleted(Response response) {
          //After upload to facebook succeeded, upload the data to the server.
          Log.d(" in calback!!! ", "");
});
uploadPhoto.executeAsync();
4

1 回答 1

2

您可能已经注意到,问题是需要从 UI 线程调用executeAsync()方法才能使回调起作用。另一方面,服务在后台运行,因此无法访问 UI 线程。

由于我认为您不打算在 onComplete() 中执行任何 UI 工作,因此一个建议是使用不需要在 UI 线程上运行的不同 API。一个这样的 API 是executeAndWait(),它将返回一个响应对象,您可以使用它来检查错误。例如:

Response resp = uploadPhoto.executeAndWait();
if(resp.getError() == null){
    //Success
}
于 2013-06-08T13:54:35.287 回答