2017-04-20 13 views
1

私はアンドロイドアプリを通じてFacebookに画像ビットマップを共有しようとしています。私はGoogleで見つけたいくつかのコードを試みたが、成功を得ることができませんでした、ここに私のコードイメージを共有する方法アンドロイドで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(); 

がある私を助けてください。 ありがとうございます。

+0

'のFacebook上の画像のビットマップを'共有しようとしています。試してみてください。 Facebookはそのビットマップを処理できません。助けが必要な場合は事前に感謝しないでください。 – greenapps

答えて

1

試してみてください。

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(); 
     } 
    }); 
関連する問題