1

Я не нашел правильное решение для размещения изображения на моей стене facebook с помощью facebook sdk. В stackOverflow я нашел следующее решение, но AsyncFacebookRunner и mAsyncRunner.request устарели, и они не работают.Как разместить Bitmap на facebook с помощью facebook sdk?

private Facebook facebook; 
@SuppressWarnings("deprecation") 
public void shareImg(View v) { 

    System.out.println("ciao"); 
    Bitmap img = albero.getDrawingCache(); 
    if (img != null) { 
     byte[] data = null; 

     Bitmap bi = img; 
     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("me/posts", params, "POST", new SampleUploadListener(), null); 

    } 
} 

Любые предложения?

ответ

4

Комплексное решение:

Request.Callback uploadPhotoRequestCallback = new Request.Callback() { 
    @Override 
    public void onCompleted(Response response) { 
     if (response.getError() != null) { 
      //post error 
     } else{ 
      String idRploadResponse = (String) response.getGraphObject().getProperty("id"); 
      if (idRploadResponse!= null) { 

       String fbPhotoAddress = "https://www.facebook.com/photo.php?fbid=" +idRploadResponse;        
      } else { 
        //error 
      } 

     } 
    } 
}; 


@SuppressWarnings("deprecation") 
public void shareImg(View v) { 
    Bitmap img = albero.getDrawingCache(); //I get Btimap from View 

    if (img != null) { 

     Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), img, uploadPhotoRequestCallback); 
     Bundle parameters = request.getParameters(); // <-- THIS IS IMPORTANT 
     parameters.putString("message", "My message"); 
     // add more params here 
     request.setParameters(parameters); 
     request.executeAsync(); 
    } 
} 
Смежные вопросы