从NativeActivity获取上下文

Dav*_*ven 5 java-native-interface android android-ndk native-activity

我有一个使用NativeActivity的应用程序.我想调用Java来做一些需要Context的事情(例如,访问TelephonyManager来查询IMEI).

如何为我的活动获得有效的上下文?

ANativeActivity结构包含我的应用程序的各种有用数据,例如JavaVM和JNI环境等.它还包含指向NativeActivity的类对象的jobject.它不包含的是指向NativeActivity 实例的jobject .我也没有看到任何有用的东西struct android_app.

必须有可能这样做; 任何想法怎么样?

Ido*_*lon 5

尽管它的名字结构的clazz成员ANativeActivity实际上指向android.app.NativeActivity实例。
查看这篇文章,了解使用从 Native Activity 到 Java 代码的 JNI 调用的示例。