JNI, вызовите логический метод - PullRequest
12 голосов
/ 13 февраля 2012

Я получил метод Java, который получает String и возвращает boolean.

Я вызываю его из JNI следующим образом:

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)B");
        if ( function2ID == null )
            LOG("Could not find MyFuncName Function")

            jboolean IsAutoPlay =    env->CallBooleanMethod(
                    obj,
                    function2ID,
                    env->NewStringUTF(name));

Я получаю Фатальный Сигнал 11, ЛюбойИдея, что не так в синтаксисе?

1 Ответ

13 голосов
/ 15 февраля 2012

Моя подпись Java должна была вернуть Boolean вместо boolean.

Также

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)B");

должно быть Z вместо B.

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)Z");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...