私は、c#アプリとFacebookとの会話の中間となるJavaアプリケーションを作成しました。このヘルパークラスを使用すると、友達リストを取得してFacebookのウォールに投稿できます。
最近、Java関数の1つをmonodroidにバインドしようとして問題が発生しました。
私が使用しているJava関数は次のとおりです。
public void PostPicture(Activity mainActivity, String opponent, byte[] bytes, String picdescription, RequestListener listener)
{
Bundle params = new Bundle();
params.putString("name", picdescription);
params.putByteArray("source", bytes);
if(opponent != null)
{
params.putString("tags", opponent);
}
_asyncFacebook.request("me/photos", params, "POST", listener, null);
}
私が抱えている問題は、byte[]バイトをバインドしようとしていることです。
JNIEnv.GetMethodID(_class_ref、 "PostPicture"、 "(Landroid / app / Activity; Ljava / lang / String; [Ljava / lang / Byte; Ljava / lang / String; Lcom / Hitcents / PictureThis / BaseRequestListener;)V");
ここで、_class_refは、「PostPicture」を含むJavaクラスの完全修飾名です。
[Ljava / lang /Byteはbyte[]への正しいバインディングではありませんか?