我有一项可以将照片上传到 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();
最佳答案
您可能已经注意到,问题在于 executeAsync()需要从 UI 线程调用方法才能使回调起作用。另一方面,服务在后台运行,因此无法访问 UI 线程。
由于我认为您不打算在 onComplete() 中执行任何 UI 工作,因此一个建议是使用不需要在 UI 线程上运行的不同 API。此类 API 之一是 executeAndWait() ,它将返回一个响应对象,您可以使用它来检查错误。例如:
Response resp = uploadPhoto.executeAndWait();
if(resp.getError() == null){
//Success
}
关于android - 从服务发出请求时 Facebook Request.callback() 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16999812/