我有一个将照片上传到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();
答案 0 :(得分:2)
正如您可能已经注意到的那样,问题是需要从UI线程调用executeAsync()方法才能使回调工作。另一方面,服务在后台运行,因此无法访问UI线程。
由于我认为您不打算在onComplete()中执行任何UI工作,因此一个建议是使用不需要在UI线程上运行的其他API。一个这样的API是executeAndWait(),它将返回一个响应对象,您可以使用它来检查错误。例如:
Response resp = uploadPhoto.executeAndWait();
if(resp.getError() == null){
//Success
}