2012-11-05 43 views
0

我正在使用下面的代碼在Facebook上發佈圖像。android facebook圖像文章不能正常工作

在下面的代碼中,我將文本和圖像從我的應用程序發佈到facebook.當我運行此代碼時,它會啓動progressdialogue,然後顯示成功發佈消息。 但在facebook牆上沒有圖像和消息。

public void postToWall(final String message) { 
     _progressDialog = ProgressDialog.show(_activity, "","Sharing on Facebook. Please wait."); 
     new Thread(new Runnable() { 
      public void run() { 
       try { 
        byte[] data = null; 
        Uri selectedImage =Uri.parse(filePath); 
        String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

        Cursor cursor = _activity.getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
        cursor.moveToFirst(); 

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
        String picturePath = cursor.getString(columnIndex); 
        cursor.close();     
        //String path = filePath+"/screeshot.jpg"; 

        Bitmap bi = BitmapFactory.decodeFile(picturePath); 
        ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
        bi.compress(Bitmap.CompressFormat.PNG, 100, baos); 
        data = baos.toByteArray(); 
        AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook); 
        String accessToken = facebook.getAccessToken(); 
        Bundle params = new Bundle(); 
        params.putString("message", message); 
        params.putByteArray("picture", data); 
        params.putString(Facebook.TOKEN, accessToken); 

        @SuppressWarnings("unused") 
        String response1 = facebook.request("photos", params, "POST"); 
        _progressDialog.cancel(); 
        Message msg = new Message(); 
        msg.arg1 = 0; 
        saveHandler.sendMessage(msg); 
       } catch (Exception e) { 
        _progressDialog.cancel(); 
        e.printStackTrace(); 
       } 
       catch (OutOfMemoryError e1) { 
        _progressDialog.cancel(); 
        e1.printStackTrace(); 
       } 
      } 
     }).start(); 
    } 

下面是logcat的:

11-06 06:01:41.083: E/MapActivity(571): Couldn't get connection factory client 
11-06 06:01:47.372: W/System.err(571): IOException processing: 26 
11-06 06:01:47.372: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:47.402: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:47.402: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:47.422: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:47.422: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:47.433: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:47.462: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:48.802: W/System.err(571): IOException processing: 26 
11-06 06:01:48.812: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:48.822: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:48.822: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:48.832: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:48.832: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:48.843: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:48.843: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:49.562: W/KeyCharacterMap(571): No keyboard for id 0 
11-06 06:01:49.562: W/KeyCharacterMap(571): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 
11-06 06:01:50.153: W/System.err(571): IOException processing: 26 
11-06 06:01:50.162: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:50.172: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:50.182: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:50.202: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:50.212: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:50.212: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:50.222: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:51.582: W/System.err(571): IOException processing: 26 
11-06 06:01:51.582: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:51.591: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:51.591: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:51.602: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:51.612: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:51.612: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:51.622: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:52.922: W/System.err(571): IOException processing: 26 
11-06 06:01:52.922: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:52.932: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:52.952: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:52.963: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:52.972: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:52.983: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:52.983: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:54.372: D/dalvikvm(571): GREF has increased to 201 
11-06 06:01:54.462: W/System.err(571): IOException processing: 26 
11-06 06:01:54.472: W/System.err(571): java.io.IOException: Server returned: 3 
11-06 06:01:54.472: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
11-06 06:01:54.502: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
11-06 06:01:54.502: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
11-06 06:01:54.511: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
11-06 06:01:54.523: W/System.err(571): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
11-06 06:01:54.552: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:01:59.552: I/System.out(571): Root View : [email protected] 
11-06 06:03:39.962: I/MapActivity(571): Handling network change notification:CONNECTED 
11-06 06:03:39.992: W/IdleConnectionHandler(571): Removing a connection that never existed! 
11-06 06:03:59.922: D/dalvikvm(571): GC_CONCURRENT freed 1749K, 54% free 3709K/7943K, external 15035K/15048K, paused 12ms+8ms 
11-06 06:04:41.782: D/dalvikvm(571): GC_EXTERNAL_ALLOC freed 152K, 54% free 3655K/7943K, external 14707K/15048K, paused 65ms 
11-06 06:04:47.622: I/System.out(571): Root View : [email protected] 
11-06 06:06:27.991: I/MapActivity(571): Handling network change notification:CONNECTED 
11-06 06:06:29.342: D/dalvikvm(571): GC_FOR_MALLOC freed 320K, 51% free 3940K/7943K, external 16047K/16796K, paused 81ms 
11-06 06:06:30.552: D/dalvikvm(571): GC_FOR_MALLOC freed 285K, 51% free 4159K/8455K, external 15397K/16796K, paused 56ms 
11-06 06:07:08.492: D/dalvikvm(571): GC_FOR_MALLOC freed 1172K, 46% free 4637K/8455K, external 15397K/16796K, paused 102ms 
11-06 06:07:08.492: I/dalvikvm-heap(571): Forcing collection of SoftReferences for 867890-byte allocation 
11-06 06:07:08.573: D/dalvikvm(571): GC_FOR_MALLOC freed 118K, 47% free 4519K/8455K, external 15397K/16796K, paused 50ms 
11-06 06:07:08.573: E/dalvikvm-heap(571): Out of memory on a 867890-byte allocation. 
11-06 06:07:08.622: I/dalvikvm(571): "Thread-20" prio=5 tid=9 RUNNABLE 
11-06 06:07:08.622: I/dalvikvm(571): | group="main" sCount=0 dsCount=0 obj=0x405df7b0 self=0x3fe760 
11-06 06:07:08.642: I/dalvikvm(571): | sysTid=586 nice=0 sched=0/0 cgrp=default handle=4188312 
11-06 06:07:08.654: I/dalvikvm(571): | schedstat=(15498409993 2080675107 364) 
11-06 06:07:08.654: I/dalvikvm(571): at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:~91) 
11-06 06:07:08.662: I/dalvikvm(571): at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:216) 
11-06 06:07:08.662: I/dalvikvm(571): at org.apache.harmony.luni.internal.net.www.protocol.http.RetryableOutputStream.write(RetryableOutputStream.java:60) 
11-06 06:07:08.662: I/dalvikvm(571): at java.io.BufferedOutputStream.write(BufferedOutputStream.java:129) 
11-06 06:07:08.662: I/dalvikvm(571): at java.io.FilterOutputStream.write(FilterOutputStream.java:105) 
11-06 06:07:08.662: I/dalvikvm(571): at com.icouponz.facebook.Util.openUrl(Util.java:203) 
11-06 06:07:08.662: I/dalvikvm(571): at com.icouponz.facebook.Facebook.request(Facebook.java:533) 
11-06 06:07:08.662: I/dalvikvm(571): at com.icouponz.FacebookHandler$2.run(FacebookHandler.java:147) 
11-06 06:07:08.662: I/dalvikvm(571): at java.lang.Thread.run(Thread.java:1019) 
11-06 06:07:09.062: W/System.err(571): java.lang.OutOfMemoryError 
11-06 06:07:09.082: W/System.err(571): at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91) 
11-06 06:07:09.122: W/System.err(571): at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:216) 
11-06 06:07:09.122: W/System.err(571): at org.apache.harmony.luni.internal.net.www.protocol.http.RetryableOutputStream.write(RetryableOutputStream.java:60) 
11-06 06:07:09.154: W/System.err(571): at java.io.BufferedOutputStream.write(BufferedOutputStream.java:129) 
11-06 06:07:09.174: W/System.err(571): at java.io.FilterOutputStream.write(FilterOutputStream.java:105) 
11-06 06:07:09.174: W/System.err(571): at com.icouponz.facebook.Util.openUrl(Util.java:203) 
11-06 06:07:09.252: W/System.err(571): at com.icouponz.facebook.Facebook.request(Facebook.java:533) 
11-06 06:07:09.284: W/System.err(571): at com.icouponz.FacebookHandler$2.run(FacebookHandler.java:147) 
11-06 06:07:09.312: W/System.err(571): at java.lang.Thread.run(Thread.java:1019) 

回答

1

嘗試這個

String response1 = facebook.request("me/photos", params, "POST"); 

String response1 = facebook.request("photos", params, "POST"); 
+0

嗨感謝您的回答,而不是,但它仍然沒有工作。 –

+0

請貼上你的logcat? – Nikhil

+0

嗨尼克我沒有得到任何異常,但在facebook上傳照片,但我粘貼我的logcat。 –