有人使用 Necessitas (Qt for Android) 进行编程吗?
我正在与 Necessitas (Qt for Android) 合作。一切都运行良好。
现在,我尝试连接到 Dalvik JVM 以使用一些 Android API(例如 GPS)。为此,我尝试使用 JNI 获取 Java 环境:
JNIEnv *currEnv;
currEnv = 0;
if (m_javaVM->GetEnv((void**)&currEnv,JNI_VERSION_1_4) == JNI_OK)
{
qDebug() << "GetEnv passed";
}
else
{
qDebug() << "GetEnv failed";
}
m_javaVM
是指向 Necessitas 使用的虚拟机的指针。
问题是当我在 android 虚拟设备中运行应用程序时,我总是遇到 GetEnv 失败的情况。
非常感谢任何帮助!
I am working with Necessitas (Qt for Android). All run fine.
Now, I am trying to connect to the Dalvik JVM to use some of the Android API (GPS for example). To do this I'm trying to get the Java environment using JNI:
JNIEnv *currEnv;
currEnv = 0;
if (m_javaVM->GetEnv((void**)&currEnv,JNI_VERSION_1_4) == JNI_OK)
{
qDebug() << "GetEnv passed";
}
else
{
qDebug() << "GetEnv failed";
}
m_javaVM
is the pointer to the virtual machine used by Necessitas.
The problem is that I always get GetEnv failed when I run the application in the android virtual device.
Any help is much appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我正在回答我的问题:
发生这种情况是因为 getEnv 获取当前环境。虽然我需要获得一个新的环境,例如:
I am answering my ow question:
This happens because getEnv gets the current env. While what i need to to get a new env with something like: