如何将WCHAR_T *转换为jstring?

时间:2019-01-28 17:19:08

标签: android c++ android-ndk java-native-interface

当我尝试将WCHAR_T *传递给Java方法时,应用崩溃。

我有WCHAR_T *变量及其长度。

我不知道如何将其转换为jstring来调用java方法。

我的c ++代码:

bool test(WCHAR_T* document){
    JNIEnv* jenv = getJniEnv();
    methodID_test = jenv->GetMethodID(cc, "test", "(Ljava/lang/String;)Z");
    return (bool)(jenv->CallBooleanMethod(obj,methodID_printDocument,document));
}

我的Java代码:

public boolean test(String document) {
    return false;
}

1 个答案:

答案 0 :(得分:1)

使用NewString函数将wchar_t转换为jstring。

jstring NewString(JNIEnv *env, const jchar *unicodeChars,  jsize len);