2011-06-25 8 views
1

グラフAPIを使用してFacebookに写真をアップロードしようとしていて、OutOfMemory例外が引き続き発生しています。アップロードの コードはこれです:リクエスト関数内Android SDKを使用してグラフAPIを使用してFacebookに画像をアップロードする

return Util.openUrl(url, httpMethod, parameters); 

:例外が、それはこのライン呼び出すときdecodeFile関数に、時にはFacebookのSDK自体に提起

private void PostPhoto(SessionHandler facebook, Uri photoUri) 
{ 
    Bundle params = new Bundle(); 
    ByteArrayOutputStream bos = new ByteArrayOutputStream(); 

    String realPath = getRealPathFromURI(photoUri); 
    Bitmap bitmap = BitmapFactory.decodeFile(realPath); 

    bitmap.compress(CompressFormat.JPEG, 100, bos); 

    params.putByteArray("picture", bos.toByteArray()); 


    try 
    { 
     facebook.mFacebook.request("me/photos", params, "POST");    

    } catch (FileNotFoundException fileNotFoundException) 
    { 

    } catch (MalformedURLException malformedURLException) 
    { 

    } catch (IOException ioException) 
    { 

    } 

} 

このアプリは、ACTION_SENDインテントによって画像コンテンツ:// Uriを取得しています。 getRealPathFromURI()は、content:// uriを実際のsdcardパスに変換するために使用されます。

アイデア?

+1

エラーのスタックトレースを表示できますか。 – Kenny

答えて

1

それは私の作品、これを試してみてください:

facebook.mFacebook.request("me/photos", params, "POST"); 

byte[] data = null; 
try { 
    ContentResolver cr = mainActivity.getContentResolver(); 
    InputStream fis = cr.openInputStream(photoUri); 
    Bitmap bi = BitmapFactory.decodeStream(fis); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bi.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
    data = baos.toByteArray();    
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
}  
Bundle params = new Bundle(); 
params.putString("method", "photos.upload");   
params.putByteArray("picture", data); 

これは、残りのAPIを使用している、FacebookのSDKには、これだけであなたの要求の行を変更し、それを呼び出すための方法があります〜に:

facebook.mFacebook.request(params); 

そしてそれがうまくいけば問題を解決します。

+0

このコードのように見えますが、メモリ不足例外が発生していません。コードはRequestListenerのonCompleteに到達しますが、画像はFacebookに表示されません。リクエストのnullを "me/photos"に変更しようとしましたが、プロフィールやアルバムにはまだ何もありません。 – Idan

+1

@Idan - あなたはfacebookからの返信を投稿できます – Kenny

+0

レスポンス:サポートされていないメソッド、photos.upload – Idan

関連する問題