Подтвердить что ты не робот

JNI, вызов логического метода

У меня есть 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));

Я получаю Fatal Signal 11, любая идея, что не так в синтаксисе?

4b9b3361

Ответ 1

Моя подпись 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");