2014-02-28 18 views
0

我曾嘗試fellowing兩種方法,但未能:如何在QT5.2中獲取活動對象?

QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;"); 



    QPlatformNativeInterface *interface = QApplication::platformNativeInterface(); 
    jobject activity = (jobject)interface->nativeResourceForIntegration("QtActivity"); 

回答

0

好吧,我是在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; 
相關問題