android - 如何在 android 的 facebook 上分享图像位图?

标签 android

我正在尝试通过我的 android 应用程序在 facebook 上分享图像位图。我尝试了一些在谷歌上找到的代码,但没有成功,这是我的代码

 shareButton = (ShareButton) findViewById(R.id.share_btn);

        //share dialog
        AlertDialog.Builder shareDialog = new AlertDialog.Builder(this);
        shareDialog.setTitle("Share Miimoji");
        shareDialog.setMessage("Share Miimoji to Facebook?");
        shareDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                //share the image to Facebook
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                mSelectedMiimoji.GetBitmap().compress(Bitmap.CompressFormat.PNG, 20, baos);
                SharePhoto photo = new SharePhoto.Builder().setBitmap(mSelectedMiimoji.GetBitmap()).build();
                SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build();
                shareButton.setShareContent(content);
                counter = 1;
                shareButton.performClick();
            }
        });
        shareDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        shareDialog.show();

请帮帮我。 提前致谢。

最佳答案

尝试一次。

 public void ShareDialog() {
    Toast.makeText(Complete_Run_Activity.this, "Sharing to Facebook", Toast.LENGTH_SHORT).show();

    if (shareDialog.canShow(SharePhotoContent.class)) {

        SharePhoto photo = new SharePhoto.Builder()
                .setBitmap(bitmap)
                .setCaption("Hey... \nI earned by money by running/walking for the charity.")
                .build();
        SharePhotoContent content = new SharePhotoContent.Builder()
                .addPhoto(photo)
                .build();
        shareDialog.show(content);
        dialog1.dismiss();
    }
}

还有

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
    try {
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }catch(Exception e){
        e.printStackTrace();
    }}

在oncreate方法中

 FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    shareDialog = new ShareDialog(this);
    shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {
            Log.e("RESSULT", "Success");
         //   getAndAddSlots();

        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {
            Log.e("RESSULT", "error=" + error.toString());
            Toast.makeText(Complete_Run_Activity.this, "Unable to Share Image to Facebook.", Toast.LENGTH_SHORT).show();
        }
    });

关于android - 如何在 android 的 facebook 上分享图像位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513124/

相关文章:

java - 从dom列表到xml文件的xml解析

java - 如何在 Firebase 中调用内部字段

javascript - 使用 javascript/jquery 检测移动浏览器的最佳方法?

android - adb 连接断开,Android Project 运行时出现严重错误

android - Android 上的 MouseArea 虚拟双击

android - deviceready 事件未在 phonegap for android 中触发

android - 检查 GPS 信号

android - 如何在 Eclipse 中使用来自 PhoneGap Build 和 PhoneGap Android 项目的相同源代码

android - 显示android :dialogMessage in a ListPreference dialog

Android - QR 码中 AES 加密字符串的解密问题