- android facebook app not posting image
- public class DummyActivity extends Activity {
- Facebook facebook = new Facebook("xxxxxxxxxx");
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- facebook.authorize(this, new DialogListener() {
- public void onComplete(Bundle values) {
- byte[] data = null;
- Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- data = baos.toByteArray();
- Bundle params = new Bundle();
- params.putString(Facebook.TOKEN, facebook.getAccessToken());
- params.putString("method", "photos.upload");
- params.putByteArray("picture", data);
- AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
- mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);
- }
- public void onFacebookError(FacebookError error) {}
- public void onError(DialogError e) {}
- public void onCancel() {}
- });
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- facebook.authorizeCallback(requestCode, resultCode, data);
- }
- public class SampleUploadListener implements RequestListener {
- public void onComplete(String response, Object state) {
- // TODO Auto-generated method stub
- try {
- // process the response here: (executed in background thread)
- Log.d("Facebook-Example", "Response: " + response.toString());
- JSONObject json = Util.parseJson(response);
- final String src = json.getString("src");
- // then post the processed result back to the UI thread
- // if we do not do this, an runtime exception will be generated
- // e.g. "CalledFromWrongThreadException: Only the original
- // thread that created a view hierarchy can touch its views."
- } catch (JSONException e) {
- Log.w("Facebook-Example", "JSON Error in response");
- } catch (FacebookError e) {
- Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
- }
- }
- public void onIOException(IOException e, Object state) {
- // TODO Auto-generated method stub
- }
- public void onFileNotFoundException(FileNotFoundException e, Object state) {
- // TODO Auto-generated method stub
- }
- public void onMalformedURLException(MalformedURLException e, Object state) {
- // TODO Auto-generated method stub
- }
- public void onFacebookError(FacebookError e, Object state) {
- // TODO Auto-generated method stub
- }