如何将jobject转换/转换为jbyte *

时间:2013-08-10 07:47:10

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

我想处理从java回调函数中检索的字节数组。 但是,我收到了错误'JNIEnv' has no member named 'GetObjectElements'

jmethodID FuncGetArray = GetStaticMethodID(clazz, "GetArray", "()[B");
jobject data_obj = env->CallStaticObjectMethod(clazz, FuncGetArray);
const jboolean is_copy = JNI_FALSE;
jbyte *byte_array = env->GetObjectElements(data_obj, is_copy);

我是否可以获得指向以简单方式获取字节数组的指针,而不是检索每个元素并将其复制。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的功能是GetByteArrayElements。您可以将data_obj转换为jbyteArray并将其传递给该函数。

此外,您应该将指针传递给is_copy