2011-01-10 14 views
2

Nachdem ich im Netz für 2 Tage sah ich endlich beschlossen, auf SO zu posten.android facebook veröffentlichen foto

Nun, ich möchte einfach ein Foto in meiner Android App auf Facebook veröffentlichen.

AM mit dem offiziellen Android-Facebook-SDK. Ich importierte ein Beispielprojekt und füge im Abschnitt zum Hochladen meinen Code zum Hochladen des Fotos hinzu. wie

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()); 
    } 
}); 

Aber es doent Arbeit :(

ich in diesem Forum zu wie durch die Links ging. Looking for android Facebook SDK examples

aber schreiben nicht in der Lage ist :(

Bitte helfen me.THanks.

+0

Haben Sie den folgenden Code erhalten? Bitte bleiben Sie mit SO involviert und geben Sie Feedback, damit auch andere von Ihrem Beitrag profitieren können. – trgraglia

Antwort

8

Werfen Sie einen Blick auf diese.

Looking for android Facebook SDK examples

EDIT: Habe gerade das funktioniert. Dies ist in der ShareOnFacebook-Klasse unter der postToWall() - Funktion.

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:

Bei der Intent Herstellung:

Ergebnis ist der Pfad zu dem Bild auf dem Gerät.

Intent postOnFacebookWallIntent = new Intent(getApplicationContext(), ShareOnFacebook.class); 
postOnFacebookWallIntent.putExtra("facebookMessage", facebookMessage); 
postOnFacebookWallIntent.putExtra("facebookPhoto", result); 
startActivity(postOnFacebookWallIntent); 
+0

Sie sollten dies als akzeptiert markieren, wenn es Ihre Frage beantwortet. – trgraglia

+0

Wenn diese Antwort Ihnen geholfen hat. Bitte kommentiere, damit andere wissen, dass es funktioniert. Es gibt viele Ansichten, aber keine Rückmeldung. – trgraglia

+1

Können Sie Ihre Antwort noch weiter auslegen? hauptsächlich, wo sich die ShareOnFacebook Klasse befindet, und was ist der postOnFacebookWallIntent? Danke! –

Verwandte Themen