Vorrei sapere se è possibile e in tal caso come posso trasmettere i dati grezzi dell'immagine invece di specificare l'URL di un'immagine sul web quando si postano sul mio Muro di Facebook?Inserimento di dati grezzi di immagini anziché URL su Android Facebook SDK
Il codice di lavoro Al momento ho risultati in questo:
http://1.bp.blogspot.com/-klSLFEmvHy0/TxpPMIay0xI/AAAAAAAAAKQ/iLZv-QtmThc/s1600/fbpost.JPG (scusate non ho abbastanza crediti per incorporare le immagini in modo da aprire l'URL si prega :-)
Che è quello che voglio moreorless con didascalia, titolo, link ecc. ma il mio obiettivo ultimo è quello di rendere l'immagine a forma di cuore visualizzata sopra quella prodotta che la mia app genera ogni volta che un utente decide di pubblicare i risultati su Facebook (i contenuti sono generati dinamicamente sul Immagine). Non voglio implementare il caricamento di alcuni server di terze parti e quindi la condivisione di quell'URL.
ho visto in giro le persone che si riferiscono al codice come questo:
...
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(imagePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
params.putByteArray(...
ma che sembra essere per caricare le foto direttamente in un album che non è quello che voglio neanche.
Il mio codice di lavoro finora è:
private void loginAndPostToFacebook() {
mFacebook = new Facebook(FACEBOOK_APP_ID);
mFacebook.authorize(this, new String[] { "publish_stream" }, new DialogListener() {
@Override
public void onComplete(Bundle values) {
postOnWall();
}
@Override
public void onFacebookError(FacebookError error) {
L.t(getString(R.string.error_facebook_error) + ": " + error.getMessage());
}
@Override
public void onError(DialogError e) {
L.t(getString(R.string.error_facebook_error) + ": " + e.getMessage());
}
@Override
public void onCancel() {
}
});
}
public void postOnWall() {
Bundle params = new Bundle();
// Message
params.putString("message", "my msg");
// Name
params.putString("name", "app name");
// Caption
params.putString("caption", "caption");
// Description
params.putString("description", "description");
// Here's where I'd insert my dynamically generated image data...
params.putString("picture", "http://4.bp.blogspot.com/-VaNzm3xMOtk/TxpKzhxpdEI/AAAAAAAAAKI/08Kc5b4HW0Q/s1600/sexometer128x128neutral_icon.png");
// Link
params.putString("link", "http://www.stackoverflow.com");
try {
String response = mFacebook.request("me");
response = mFacebook.request("me/feed", params, "POST");
if (response == null || response.equals("") || response.equals("false")) {
L.t(getString(R.string.error_facebook_error) + ": blank response");
return;
} else if (response.toLowerCase().contains("error")) {
L.t(getString(R.string.error_facebook_error) + ": " + response);
return;
}
} catch(Exception e) {
L.t(getString(R.string.error_facebook_error) + ": " + e.getMessage());
return;
}
L.t(getString(R.string.success_posted_to_facebook));
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mFacebook != null) {
mFacebook.authorizeCallback(requestCode, resultCode, data);
}
}