如何使用android应用程序在facebook墙上上传字节数组(图像)?
我正试图从我的android项目的drawable文件夹上传一张facebook墙上的图片。但是我失败了。。。消息显示在墙上,但图像不在墙上。。 下面给出了我的示例代码如何使用android应用程序在facebook墙上上传字节数组(图像)?,android,facebook,bytearray,Android,Facebook,Bytearray,我正试图从我的android项目的drawable文件夹上传一张facebook墙上的图片。但是我失败了。。。消息显示在墙上,但图像不在墙上。。 下面给出了我的示例代码 Drawable drawable = ClassName.this.getResources().getDrawable(R.drawable.ic_launcher); Bitmap bitmap = (Bitmap)((BitmapDrawable) drawable).getBitmap();
Drawable drawable = ClassName.this.getResources().getDrawable(R.drawable.ic_launcher);
Bitmap bitmap = (Bitmap)((BitmapDrawable) drawable).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitMapData = stream.toByteArray();
Bundle params = new Bundle();
params.putString("message", "Tarun Kumar");
params.putString("name", "MY Image");
params.putByteArray("picture", bitMapData);
mAsyncFbRunner.request("me/feed", params, "POST", new WallPostListener());
它在日志上显示了一些错误。。像
10-03 12:55:55.664: W/Bundle(529): Key message expected byte[] but value was a java.lang.String. The default value <null> was returned.
10-03 12:55:55.914: D/dalvikvm(529): GC_FOR_MALLOC freed 6599 objects / 465168 bytes in 225ms
10-03 12:55:55.924: W/Bundle(529): Attempt to cast generated internal exception:
10-03 12:55:55.924: W/Bundle(529): java.lang.ClassCastException: java.lang.String
10-03 12:55:55.924: W/Bundle(529): at android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.Util.openUrl(Util.java:155)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.Facebook.request(Facebook.java:559)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.924: W/Bundle(529): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned.
10-03 12:55:55.924: W/Bundle(529): Attempt to cast generated internal exception:
10-03 12:55:55.924: W/Bundle(529): java.lang.ClassCastException: java.lang.String
10-03 12:55:55.924: W/Bundle(529): at android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.Util.openUrl(Util.java:155)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.Facebook.request(Facebook.java:559)
10-03 12:55:55.924: W/Bundle(529): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.984: W/Bundle(529): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned.
10-03 12:55:55.984: W/Bundle(529): Attempt to cast generated internal exception:
10-03 12:55:55.984: W/Bundle(529): java.lang.ClassCastException: java.lang.String
10-03 12:55:55.984: W/Bundle(529): at android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.984: W/Bundle(529): at com.facebook.android.Util.openUrl(Util.java:155)
10-03 12:55:55.984: W/Bundle(529): at com.facebook.android.Facebook.request(Facebook.java:559)
10-03 12:55:55.984: W/Bundle(529): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.984: D/webviewglue(529): nativeDestroy view: 0x27a548
10-03 12:55:56.014: W/Bundle(529): Key name expected byte[] but value was a java.lang.String. The default value <null> was returned.
10-03 12:55:56.014: W/Bundle(529): Attempt to cast generated internal exception:
10-03 12:55:56.014: W/Bundle(529): java.lang.ClassCastException: java.lang.String
10-03 12:55:56.014: W/Bundle(529): at android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:56.014: W/Bundle(529): at com.facebook.android.Util.openUrl(Util.java:155)
10-03 12:55:56.014: W/Bundle(529): at com.facebook.android.Facebook.request(Facebook.java:559)
10-03 12:55:56.014: W/Bundle(529): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.664:W/Bundle(529):关键消息应为字节[],但值为java.lang.String。返回了默认值。
10-03 12:55:55.914:D/dalvikvm(529):GC_FOR_MALLOC在225ms内释放了6599个对象/465168字节
10-03 12:55:55.924:W/捆绑包(529):尝试强制转换生成的内部异常:
10-03 12:55:55.924:W/Bundle(529):java.lang.ClassCastException:java.lang.String
10-03 12:55:55.924:W/Bundle(529):在android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.924:W/Bundle(529):在com.facebook.android.Util.openUrl(Util.java:155)上
10-03 12:55:55.924:W/Bundle(529):位于com.facebook.android.facebook.request(facebook.java:559)
10-03 12:55:55.924:W/Bundle(529):位于com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.924:W/Bundle(529):密钥格式应为字节[],但值为java.lang.String。返回了默认值。
10-03 12:55:55.924:W/捆绑包(529):尝试强制转换生成的内部异常:
10-03 12:55:55.924:W/Bundle(529):java.lang.ClassCastException:java.lang.String
10-03 12:55:55.924:W/Bundle(529):在android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.924:W/Bundle(529):在com.facebook.android.Util.openUrl(Util.java:155)上
10-03 12:55:55.924:W/Bundle(529):位于com.facebook.android.facebook.request(facebook.java:559)
10-03 12:55:55.924:W/Bundle(529):位于com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.984:W/Bundle(529):密钥访问令牌应为字节[],但值为java.lang.String。返回了默认值。
10-03 12:55:55.984:W/束(529):尝试强制转换生成的内部异常:
10-03 12:55:55.984:W/Bundle(529):java.lang.ClassCastException:java.lang.String
10-03 12:55:55.984:W/Bundle(529):在android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:55.984:W/Bundle(529):在com.facebook.android.Util.openUrl(Util.java:155)上
10-03 12:55:55.984:W/Bundle(529):at com.facebook.android.facebook.request(facebook.java:559)
10-03 12:55:55.984:W/Bundle(529):在com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
10-03 12:55:55.984:D/webviewglue(529):nativeDestroy视图:0x27a548
10-03 12:55:56.014:W/Bundle(529):键名应为byte[],但值为java.lang.String。返回了默认值。
10-03 12:55:56.014:W/捆绑包(529):尝试强制转换生成的内部异常:
10-03 12:55:56.014:W/Bundle(529):java.lang.ClassCastException:java.lang.String
10-03 12:55:56.014:W/Bundle(529):在android.os.Bundle.getByteArray(Bundle.java:1305)
10-03 12:55:56.014:W/Bundle(529):在com.facebook.android.Util.openUrl(Util.java:155)上
10-03 12:55:56.014:W/Bundle(529):位于com.facebook.android.facebook.request(facebook.java:559)
10-03 12:55:56.014:W/Bundle(529):在com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:208)
如果从应用程序向fb发布图像,您不能使用me/feed参数,您必须使用照片,请求将被取消
mAsyncFbRunner.request("photos", parameters,
"POST", new WallPostListener());