After looking on the net for 2 days I finally decided to post on SO.
Well I simply want to publish a photo in my android app on to facebook.
AM using the official android-facebook-sdk. I imported to example project and in the upload section add my code to upload photo. like
mUploadButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Bundle params = new Bundle();
params.putString("method", "photos.upload");
Bitmap temp = BitmapFactory.decodeResource(getResources(),R.drawable.facebook_icon);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
temp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imgData = baos.toByteArray();
params.putByteArray("picture", imgData);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener());
}
});
But it doent work :(
I went through the links in this forum too like: Looking for android Facebook SDK examples
but am not able to post. :(
Kindly help me.THanks.
trgraglia
Take a look at this.
Looking for android Facebook SDK examples
EDIT: Just got this working. This is in the ShareOnFacebook class under the postToWall() function.
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(photoToPost);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
Bundle params = new Bundle();
params.putString("method", "photos.upload");
params.putByteArray("picture", data);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);
EDIT:
When making the Intent:
result is the path to the image on the device.
Intent postOnFacebookWallIntent = new Intent(getApplicationContext(), ShareOnFacebook.class);
postOnFacebookWallIntent.putExtra("facebookMessage", facebookMessage);
postOnFacebookWallIntent.putExtra("facebookPhoto", result);
startActivity(postOnFacebookWallIntent);
来源:https://stackoverflow.com/questions/4647767/android-facebook-publish-photo