【问题标题】:JNI , call boolean methodJNI,调用布尔方法
【发布时间】:2012-02-13 08:56:56
【问题描述】:

我有一个获取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,知道语法有什么问题吗?

【问题讨论】:

    标签: java android java-native-interface


    【解决方案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");
    

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多