我已经尝试了以下两种方法,但都失败了:
QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
QPlatformNativeInterface *interface = QApplication::platformNativeInterface();
jobject activity = (jobject)interface->nativeResourceForIntegration("QtActivity");发布于 2014-04-22 21:16:15
好的,我用的是QT 5.2,这对我很有效:
首先:
在您的.pro中:
QT += gui-private现在在您的cpp中:
#include <QAndroidJniObject>
#include <qpa/qplatformnativeinterface.h>
QAndroidJniObject getMainActivity()
{
QPlatformNativeInterface *interface = QApplication::platformNativeInterface();
QAndroidJniObject activity = (jobject)interface->nativeResourceForIntegration("QtActivity");
if(!activity.isValid())
qDebug()<<"CLASS NOT VALID!!!!!!!!";
else
qDebug()<<"HORRAY!";
return activity;https://stackoverflow.com/questions/22085219
复制相似问题