2012-02-13 39 views
10

Tôi nhận được một phương thức Java lấy String và trả về boolean.JNI, gọi phương thức boolean

tôi gọi nó từ JNI như thế này:

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)); 

tôi nhận Fatal Signal 11, Bất cứ ý tưởng gì sai trong cú pháp?

Trả lời

12

Chữ ký Java của tôi là trả lại Boolean thay vì boolean.

Cũng

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

cần phải được Z thay vì B.

jmethodID function2ID = env->GetMethodID(
        activityClass, 
        "MyFuncName", 
        "(Ljava/lang/String;)Z"); 
Các vấn đề liên quan