从 NativeActivity 获取上下文
我有一个使用 NativeActivity 的应用程序。我想调用 Java 来做一些需要上下文的事情(例如,访问 TelephonyManager 来查询 IMEI)。
如何为我的活动获取有效的上下文?
ANativeActivity 结构包含对我的应用程序有用的各种数据,例如 JavaVM 和 JNI 环境等。它还包含一个指向我的 NativeActivity 类对象的 jobject。它不包含指向 NativeActivity 实例的 jobobject。我在 struct android_app 中也没有看到任何有用的东西。
一定可以做到这一点;有什么想法吗?
I have an application using NativeActivity. I want to call out into Java to do something that requires a Context (e.g., accessing TelephonyManager to query the IMEI).
How do I get a valid Context for my activity?
The ANativeActivity structure contains a variety of useful data for my application, such as the JavaVM, and JNI environment, etc. It also contains a jobject pointing at my NativeActivity's class object. What it doesn't contain is a jobject pointing at the NativeActivity's instance. I don't see anything useful in struct android_app
, either.
It must be possible to do this; any ideas how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尽管其名称为
ANativeActivity
结构的clazz
成员,但实际上指向android.app.NativeActivity
实例。检查 这篇文章提供了使用从 Native Activity 到 Java 代码的 JNI 调用的示例。
Despite its name the
clazz
member ofANativeActivity
struct is actually pointing toandroid.app.NativeActivity
instance.Check this post for an example of using a JNI call from the Native Activity to Java code.