0

我正在尝试将我的 sdcard 文件夹中的所有照片上传到 facebook 相册。我已经为此编写了以下代码。是所有图像文件的列表。但是,程序运行异常。我无法弄清楚原因。欢迎在这方面提出任何意见。

    RequestBatch requestBatch = new RequestBatch();
    for (final String requestId : fileNames) {
        Bitmap image = BitmapFactory.decodeFile(requestId);
        Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), image, new Request.Callback() {
            @Override
            public void onCompleted(Response response) {
                showPublishResult("Photo Post ", response.getGraphObject(), response.getError());
            }
        });

        requestBatch.add(request);
    }
    requestBatch.executeAsync();
}

更新 :

它正在运行 OutOfMemoryException。这意味着,sdk 正在缓存文件,因此发生了这种情况。有没有其他方法可以实现相同的效果,而不是将位图图像作为请求发送?

4

1 回答 1

1

上述方法的问题是 executeAsync。

我们需要创建一个新线程,使其成为守护进程(这样即使在应用退出时,上传也可以完成队列),并使用 executeAndWait 发布。这样,所有文件都是串行上传的。

如果有人需要新代码,请在此处留言,我将发布它

于 2013-02-24T22:23:59.440 回答