Android 如何使用 Facebook SDK 在 Facebook 上分享图片?

How to share image on Facebook using Facebook SDK for Android?

我想使用 Facebook 将我的 Android 应用程序中的图像分享到 Facebook SDK.I 在我的 app.when 中有一个名为 Share 的按钮 我点击了图像的那个按钮,它是我的设备应该在 Facebook.Here 上共享问题是当我单击按钮时 Facebook 登录页面打开,但在成功登录后 Facebook 将关闭并且图像不会共享。 谁能告诉我哪里做错了?

FacebookSdk.sdkInitialize(getActivity());

callbackManager = CallbackManager.Factory.create();

List<String> permissionNeeds = Arrays.asList("publish_actions");

//this loginManager helps you eliminate adding a LoginButton to your UI
manager = LoginManager.getInstance();

manager.logInWithPublishPermissions(getActivity(), permissionNeeds);

manager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                Log.e("ShareMethod", "called");
                sharePhotoToFacebook();
            }

            @Override
            public void onCancel() {
                System.out.println("onCancel");
            }

            @Override
            public void onError(FacebookException exception) {
                System.out.println("onError1234");
            }
});    

private void sharePhotoToFacebook(){
        file1 = new File(path);
        bitmap1 = BitmapFactory.decodeFile(file1.getAbsolutePath());
        Log.e("Bitmap1",""+bitmap1);
        SharePhoto photo = new SharePhoto.Builder()
                .setBitmap(bitmap1)
                .build();

        SharePhotoContent content = new SharePhotoContent.Builder()
                .addPhoto(photo)
                .build();

        ShareApi.share(content, null);
        Log.e("Sharing","Successful");
}

@Override
public void onActivityResult(int requestCode, int responseCode, Intent data)
{
        super.onActivityResult(requestCode, responseCode, data);
        callbackManager.onActivityResult(requestCode, responseCode, data);
}

我的 Logcat 输出如下。

11-21 12:57:06.248    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:06.269    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:06.276    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.582    1139-1171/com.example.omshiv.moviehub W/EGL_emulation﹕ eglSurfaceAttrib not implemented
11-21 12:57:08.582    1139-1171/com.example.omshiv.moviehub W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xa0625d40, error=EGL_SUCCESS
11-21 12:57:08.598    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.599    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.613    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.642    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.650    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.664    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.688    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.691    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.703    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.739    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.740    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.762    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.776    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.798    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.822    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.833    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.867    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.901    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.905    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.908    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.925    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:08.949    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:08.950    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:08.953    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:09.079    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:09.080    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:09.099    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:09.127    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:09.129    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:09.152    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:09.155    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:09.155    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:09.169    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)
11-21 12:57:09.179    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
11-21 12:57:09.199    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
11-21 12:57:09.205    1139-1171/com.example.omshiv.moviehub E/eglCodecCommon﹕ **** ERROR unknown type 0x73000f (glSizeof,72)

我得到了解决方案。这里的问题是我正在使用片段。 Facebook Activity 加载到 WebView 但未完成共享,Fragment 仍为空。所以我从 Fragment 切换到 Activity 这解决了我的问题。