JNI,调用布尔方法

时间:2012-02-13 08:56:57

标签: java android java-native-interface

我得到了一个获得String并返回boolean的Java方法。

我从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 个答案:

答案 0 :(得分:13)

我的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");