加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JNI,调用布尔方法

发布时间:2020-12-14 16:19:00 所属栏目:Java 来源:网络整理
导读:我得到一个 java方法,得到一个字符串并返回bool 我从jni这样称呼: jmethodID function2ID = env-GetMethodID( activityClass,"MyFuncName","(Ljava/lang/String;)B"); if ( function2ID == null ) LOG("Could not find MyFuncName Function") jboolean IsAu
我得到一个 java方法,得到一个字符串并返回bool

我从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签名是返回Boolean而不是布尔值

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

需要Z而不是B

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

解决方法

我的Java签名是返回Boolean而不是布尔值


jmethodID function2ID = env-> GetMethodID(
activityClass,
“MyFuncName”
“(Ljava /郎/字符串;)B”);
需要Z而不是B

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读