【发布时间】:2012-09-06 08:20:32
【问题描述】:
我想使用他们的图形 API 将图像发布到 facebook。但我的图像在可绘制文件夹中。到目前为止:
public static void postToFacebook() {
Bundle params = new Bundle();
// shared with this
params.putString("caption", activityContext.getString(R.string.app_name));
// description of the program
params.putString("description", "bla bla bla bla bla bla");
// header of the description
params.putString("name", "train");
// callback url
params.putString("link","http://www.google.com.tr");
// put a personal message
params.putString("message", "my message");
// to put a photo
params.putByteArray("picture", getImageAsData());
try {
String response = FacebookUtility.mFacebook.request("/me/feed",
params, "POST");
if (response == null || response.equals("")
|| response.equals("false"))
Toast.makeText(activityContext, "Error.",
Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static byte[] getImageAsData() {
Drawable d = activityContext.getResources().getDrawable(R.drawable.icon);
Bitmap bitmap = ((BitmapDrawable) d).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapdata = stream.toByteArray();
return bitmapdata;
}
但这不起作用......它没有发布我的图标,但它从网站获取谷歌图标。我尝试注释掉链接部分,但这次它只发送消息。
我也尝试将位图设置为:
Bitmap bitmap = BitmapFactory.decodeResource(activityContext.getResources(), R.drawable.icon);
但这也没有成功。
我见过:
Bitmap bi = BitmapFactory.decodeFile(pathonsdcard);
但我无法使用此方法获取位图,因为我没有 pathonsdcard?
有什么建议吗? 那么如何发布位于 res/drawable 文件夹中的图像呢? 提前致谢。
【问题讨论】:
标签: android facebook facebook-graph-api bitmap