2012-02-13 17 views
10

मुझे जावा विधि मिली है जो 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)); 

मैं घातक सिग्नल 11, किसी भी विचार क्या वाक्य रचना में गलत क्या है मिल सकता है?

उत्तर

12

मेरा जावा हस्ताक्षर के बजाय Boolean वापस करना था।

इसके अलावा

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

Z बजाय B की जरूरत है।

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