java – 尝试访问EXTRA_ADDRESS_BOOK_INDEX字段时出现JNI错误

前端之家收集整理的这篇文章主要介绍了java – 尝试访问EXTRA_ADDRESS_BOOK_INDEX字段时出现JNI错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图使用JNI访问EXTRA_ADDRESS_BOOK_INDEX常量:

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm,void* reserved) {
    JNIEnv* env = nullptr;
    vm->GetEnv(reinterpret_cast

GetStaticObjectField方法崩溃并出现错误

java_vm_ext.cc:534] JNI DETECTED ERROR IN APPLICATION: static jfieldID
0x6fd191b0 not valid for class
java.lang.Class

另一方面,如果我尝试访问同一个类的VISIBLE_CONTACTS_ONLY字段,一切都按预期工作:

jfieldID fieldID = env->GetStaticFieldID(clazz,"VISIBLE_CONTACTS_ONLY","Ljava/lang/String;");

我可能做错了什么线索?

最佳答案
所以我试图解决它并得到相同的错误,然后我搜索了最终类ContactsContract的源代码,发现字段EXTRA_ADDRESS_BOOK_INDEX没有在嵌套类Data中声明,而是在名为ContactCounts的嵌套接口中声明.

所以解决方案是用“android / provider / ContactsContract $ContactCounts”替换“android / provider / ContactsContract $Data”

猜你在找的Android相关文章