グラフ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フォルダーにある画像を投稿するにはどうすればよいですか?前もって感謝します。