2014-04-07 65 views

回答

0

如果你能得到一个指向Java QtActivity对象的C++指针,我不是很积极,因为它们生活在两个不同的世界。

但是,您可以通过使用从Qt 5.2开始可用的QAndroidJniObject来实现所需的功能。以下是大纲:

步骤1:使用名为setWindowFlag(int flag,int val)的函数创建一个名为MyCppClass的C++类。

步骤2:使用名为setActivity(Activity activity)的方法创建一个名为MyJavaClass的Java类。创建另一个名为setWindowFlag(int flag,int val)的方法,您可以在其中使用Android API设置窗口的标志。

第3步:在您的Java类QtActivity中,调用MyJavaClass.setActivity(this)。我在onCreate()方法和加载Qt应用程序之前执行此操作。

第4步:在MyCppClass中,使用QAndroidJniObject将C++函数setWindowFlag()绑定到Java方法MyJavaClass.setWindowFlag()。

更详细的信息可以在QAndroidJniObject的文档页面找到。

相关问题