Я пытаюсь получить доступ к константе EXTRA_ADDRESS_BOOK_INDEX
, используя JNI:
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
JNIEnv* env = nullptr;
vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6);
jclass clazz = env->FindClass("android/provider/ContactsContract$Data");
jfieldID fieldID = env->GetStaticFieldID(clazz, "EXTRA_ADDRESS_BOOK_INDEX", "Ljava/lang/String;");
jobject field = env->GetStaticObjectField(clazz, fieldID);
}
Метод GetStaticObjectField
завершается с ошибкой:
java_vm_ext.cc:534] JNI ОБНАРУЖИЛА ОШИБКУ ПРИЛОЖЕНИЯ: статический jfieldID 0x6fd191b0 недопустим для класса java.lang.Class
С другой стороны, если я пытаюсь получить доступ к полю VISIBLE_CONTACTS_ONLY
в том же классе, все работает как положено:
jfieldID fieldID = env->GetStaticFieldID(clazz, "VISIBLE_CONTACTS_ONLY", "Ljava/lang/String;");
Любые подсказкичто я могу делать не так?