从 NativeActivity 获取上下文

发布于 2024-12-02 10:36:46 字数 318 浏览 0 评论 0原文

我有一个使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

银河中√捞星星 2024-12-09 10:36:46

尽管其名称为 ANativeActivity 结构的 clazz 成员,但实际上指向 android.app.NativeActivity 实例。
检查 这篇文章提供了使用从 Native Activity 到 Java 代码的 JNI 调用的示例。

Despite its name the clazz member of ANativeActivity struct is actually pointing to android.app.NativeActivity instance.
Check this post for an example of using a JNI call from the Native Activity to Java code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文