在Facebook SDK for Android中获取图像的上传进度

时间:2017-02-03 09:18:36

标签: android facebook facebook-graph-api upload

我正在制作一款Android应用,它以多种方式使用 Facebook SDK ,包括将照片上传到群组。我有一个工作代码,但想要一些我无法添加的功能。

这是我的 java 代码:

public void PostToGroup(Activity activity, Bitmap image, final String caption, final PostDelegate postDelegate)             
{
    if(!facebookManager.hasPublishPermission())
    {
        facebookManager.getPublishPermission(activity);

    }

    if(facebookManager.hasPublishPermission()) {
        FacebookSdk.setOnProgressThreshold(1);

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        image.compress(Bitmap.CompressFormat.PNG, 100, stream);
        byte[] byteArray = stream.toByteArray();
        Bundle params = new Bundle();
        params.putString("message", caption);
        params.putByteArray("source", byteArray);
        GraphRequest.Callback gCallBack = new GraphRequest.OnProgressCallback() {
            @Override
            public void onProgress(long current, long max) {
                Log.e("Progress", String.valueOf(current) + "---" + String.valueOf(max));
            }

            public void onCompleted(GraphResponse response) {

                JSONObject jsonObject = response.getJSONObject();
                if(jsonObject.has("id")) {
                    postDelegate.onSuccess(jsonObject.optString("id"));
                }
                else
                {
                    postDelegate.onError();
                }
            }
        };

        final GraphRequest graphRequest = new GraphRequest(
                AccessToken.getCurrentAccessToken(),
                "/" + GROUP_ID + "/photos",
                params,
                HttpMethod.POST,
                gCallBack);

        graphRequest.executeAsync();
    }
}

public interface PostDelegate{
    void onSuccess(String id);
    void onError();
}

此代码适用于上传图片,但我希望获取上传进度并在上传图片时将其显示在某处。

我正在尝试使用 OnProgressCallback()方法,它适用于小尺寸图像但是当我将它用于大文件时,电流值会随机增加,但每次都会挂起它达到827。

我已经搜索了问题并发现了一个类似的问题 - [这一个] [1]。

我试过了,但答案已经超过3年了,而且我无法做到当前版本的Facebook SDK中的答案。

希望这里有人可以帮助我。

  

Android Facebook SDK Progress Bar during upload

0 个答案:

没有答案