2012-02-13 5 views
10

나는 String을 얻는 자바 메서드를 가지고 있으며 boolean을 반환합니다. 나는이 같은 JNI에서 호출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), 구문에서 잘못 어떤 생각 치명적인거야?

답변

12

내 Java 서명은 대신 boolean을 반환해야했습니다.

또한

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

Z 대신 B 할 필요가있다.

jmethodID function2ID = env->GetMethodID(
        activityClass, 
        "MyFuncName", 
        "(Ljava/lang/String;)Z"); 
관련 문제