我想使用他们的图形 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 文件夹中的图像?提前致谢。